<!--
Copyright (C) 2010-2022 Greenbone AG

SPDX-License-Identifier: AGPL-3.0-or-later
-->

<!-- GMP schema with embedded documentation, in GMP. -->

<protocol>
  <name>Greenbone Management Protocol</name>
  <abbreviation>GMP</abbreviation>
  <summary>The management protocol of the Greenbone Vulnerability Manager</summary>
  <version>@GMP_VERSION@</version>

  <!-- Types. -->

  <type>
    <name>alive_test</name>
    <summary>An alive test</summary>
    <pattern>
      xsd:token { pattern = "ICMP Ping|TCP-ACK Service Ping|TCP-SYN Service Ping|ARP Ping|Consider Alive|Scan Config Default" }
    </pattern>
  </type>
  <type>
    <name>base64</name>
    <summary>Base64 encoded data</summary>
    <pattern>xsd:base64Binary</pattern>
  </type>
  <type>
    <name>boolean</name>
    <summary>A true or false value</summary>
    <description>
      Zero is false, anything else is true.  As a result, the empty string is
      considered true.
    </description>
    <pattern>text</pattern>
  </type>
  <type>
    <name>boolean_atoi</name>
    <summary>A true or false value, after conversion to an integer</summary>
    <description>
      Zero is false, anything else is true.  The value is first converted to
      an integer, as by the C `atoi' routine.  This means that an empty string
      is considered false.
    </description>
    <pattern>text</pattern>
  </type>
  <type>
    <name>compliance_levels</name>
    <summary>A string selecting compliance levels that may include the characters y, n, i and u</summary>
    <description>
      The meanings of the letters for each level are: "y" for "yes" (compliant),
      "n" for "no" (not compliant), "i" for "incomplete" and "u" for "undefined"
      (without compliance information). 
    </description>
    <pattern>xsd:token { pattern = "y?n?i?u?" }</pattern>
  </type>
  <type>
    <name>compliance_status</name>
    <summary>A compliance status</summary>
    <pattern>
      xsd:token { pattern = "yes|no|incomplete|undefined" }
    </pattern>
  </type>
  <type>
    <name>ctime</name>
    <summary>A date and time, in the C `ctime' format</summary>
    <description>
      An example string in this format is "Wed Jun 30 21:49:08 1993\n".
    </description>
    <pattern>text</pattern>
  </type>
  <type>
    <name>delta_states</name>
    <summary>A string selecting delta states that may include the characters c, g, n and s</summary>
    <description>
      The meanings of the letters for each state are: 
      "c" for "changed", "g" for "gone", "n" for "new", and "s" for "same". 
    </description>
    <pattern>xsd:token { pattern = "c?g?n?s?" }</pattern>
  </type>
  <type>
    <name>decimal</name>
    <summary>A decimal number that can have a fractional part</summary>
    <pattern>xsd:decimal</pattern>
  </type>
  <type>
    <name>type_name</name>
    <summary>A name of a data type</summary>
    <pattern>xsd:Name</pattern>
  </type>
  <type>
    <name>integer</name>
    <summary>An integer</summary>
    <pattern>xsd:integer</pattern>
  </type>
  <type>
    <name>iso_time</name>
    <summary>A date and time, in ISO 8601 format</summary>
    <description>
      An example string in this format is "2011-11-08T19:57:06+02:00".
    </description>
    <pattern>text</pattern>
  </type>
  <type>
    <name>levels</name>
    <summary>A string selecting severity levels that may include the characters c, h, m, l, g and f</summary>
    <description>
      The meanings of the letters for each level are: "c" for "critical",
      "h" for "high", "m" for "medium", "l" for "low", "g" for "log" and
      "f" for "false positive".
    </description>
    <pattern>xsd:token { pattern = "c?h?m?l?g?f?" }</pattern>
  </type>
  <type>
    <name>name</name>
    <summary>A name</summary>
    <description>
      Typically this is the name of one of the manager resources, like a
      task or target.
    </description>
    <pattern>xsd:string</pattern>
  </type>
  <type>
    <name>port</name>
    <summary>A port</summary>
    <pattern>xsd:token { pattern = "[0-9]{1,5}" }</pattern>
  </type>
  <type>
    <name>port_range</name>
    <summary>A comma separated list of port ranges, prefixed with "T:" for TCP and "U:" for UDP, allowing whitespace</summary>
    <pattern>xsd:token { pattern = "[TU]:[0-9]{1,5}(-[0-9]{1,5})?(,\s*[TU]:[0-9]{1,5}(-[0-9]{1,5})?)*" }</pattern>
  </type>
  <type>
    <name>user_list</name>
    <summary>A space separated list of users</summary>
    <pattern>text</pattern>
  </type>
  <type>
    <name>oid</name>
    <summary>An Object Identifier (OID)</summary>
    <pattern>xsd:token { pattern = "[0-9\.]{1,80}" }</pattern>
  </type>
  <type>
    <name>scanner_type</name>
    <summary>A number specifying the type of a scanner</summary>
    <description>
      The mapping of the numbers is as follows:
      '2' for OpenVAS (classic), '3' for CVE, '5' for OSP Sensor,
      '6' for OpenVASD, '7' for Agent Controller,
      '8' for OpenVASD Sensor, '9' for Agent Controller Sensor.
    </description>
    <pattern>xsd:token { pattern = "2|3|5|6|7|8|9" }</pattern>
  </type>
  <type>
    <name>severity</name>
    <summary>A severity score</summary>
    <description>
      A severity score is a decimal number between 0.0 and 10.0 (inclusive) with
      one digit after the decimal point or a special negative value
      (-1.0, -2.0 or -3.0).
      If a single severity score defines a constraint, e.g. on whether an
      override applies, for values 0.0 and lower the severity must be equal
      to match while for &gt; 0.0 the compared value must be greater or equal.
    </description>
    <pattern>xsd:token { pattern = "-[1-3](\.0)?|[0-9](\.[0-9])?|10(\.0)?" }</pattern>
  </type>
  <type>
    <name>sort_order</name>
    <summary>A string describing an order for sorting</summary>
    <description>
      The string "descending" denotes descending order, anything else means
      ascending.
    </description>
    <pattern>text</pattern>
  </type>
  <type>
    <name>status</name>
    <summary>The success or failure status of a command</summary>
    <pattern>xsd:token { pattern = "200|201|202|400|401|403|404|409|500|503" }</pattern>
  </type>
  <type>
    <name>task_status</name>
    <summary>A task run status</summary>
    <pattern>
      xsd:token { pattern = "Delete Requested|Done|New|Processing|Requested|Running|Stop Requested|Stopped|Interrupted" }
    </pattern>
  </type>
  <type>
    <name>task_trend</name>
    <summary>The trend of results for a task</summary>
    <pattern>
      xsd:token { pattern = "up|down|more|less|same" }
    </pattern>
  </type>
  <type>
    <name>ticket_status</name>
    <summary>A ticket status</summary>
    <pattern>
      xsd:token { pattern = "Open|Fixed|Fix Verified|Closed" }
    </pattern>
  </type>
  <type>
    <name>threat</name>
    <summary>A threat level</summary>
    <description>
      Threat levels are a classification of severity scores only
      supported for importing reports from OpenVAS-6 and older.
      The use of these elements is deprecated as they are otherwise replaced by
      severity elements, which should be used instead.
    </description>
    <pattern>xsd:token { pattern = "High|Medium|Low|Alarm|Log" }</pattern>
  </type>
  <type>
    <name>time_unit</name>
    <summary>A unit of time</summary>
    <pattern>xsd:token { pattern = "second|minute|hour|day|week|month|year|decade" }</pattern>
  </type>
  <type>
    <name>timezone</name>
    <summary>A timezone</summary>
    <description>
      <p>
        The format of a timezone is the same as that of the TZ environment
        variable on GNU/Linux systems.  That is, the same value accepted by the
        tzset C function.  There are three versions of the format.  Note the lack
        of spaces in the examples.
      </p>

      <p>
        "std offset" defines a simple timezone.  For example,
        "FOO+2" defines a timezone FOO which is 2 hours behind UTC.
      </p>
      <p>
        "std offset dst [offset],start[/time],end[/time]" defines a timezone,
        including daylight savings time.  For example,
        "NZST-12.00:00NZDT-13:00:00,M10.1.0,M3.3.0".
      </p>
      <p>
        ":[filespec]" refers to a predefined timezone.  For example,
        ":Africa/Johannesburg".  Note that the colon is optional.  Certain
        acronyms are predefined, such as GB, NZ and CET.
      </p>
    </description>
    <pattern>text</pattern>
  </type>
  <type>
    <name>uuid</name>
    <summary>A Universally Unique Identifier (UUID)</summary>
    <pattern>xsd:token { pattern = "[0-9abcdefABCDEF\-]{1,40}" }</pattern>
  </type>
  <type>
    <name>uuid_or_empty</name>
    <summary>A Universally Unique Identifier (UUID), or the empty string</summary>
    <pattern>xsd:token { pattern = "[0-9abcdefABCDEF\-]{0,40}" }</pattern>
  </type>

  <!-- Elements. -->

  <element>
    <name>c</name>
    <summary>A reference to a command</summary>
    <pattern>text</pattern>
  </element>
  <element>
    <name>e</name>
    <summary>A reference to an element</summary>
    <pattern>text</pattern>
  </element>
  <element>
    <name>r</name>
    <summary>A reference to a response</summary>
    <pattern>text</pattern>
  </element>
  <element>
    <name>o</name>
    <summary>An optional pattern item</summary>
    <pattern>
      <or>
        <e>c</e>
        <e>e</e>
        <e>r</e>
        <e>g</e>
      </or>
    </pattern>
  </element>
  <element>
    <name>g</name>
    <summary>A group of pattern items</summary>
    <pattern>
      <any><e>c</e></any>
      <any><e>e</e></any>
      <any><e>r</e></any>
      <any><e>o</e></any>
      <any><e>any</e></any>
    </pattern>
  </element>
  <element>
    <name>any</name>
    <summary>Pattern item indicating "any number of"</summary>
    <pattern>
      <or>
        <e>c</e>
        <e>e</e>
        <e>r</e>
        <e>g</e>
      </or>
    </pattern>
  </element>
  <element>
    <name>pattern</name>
    <summary>The pattern element of a command or command descendant</summary>
    <description>
      It's actually either a 't' element, or the word "text", or "".
    </description>
    <pattern>
      <any><e>attrib</e></any>
      <any><e>c</e></any>
      <any><e>e</e></any>
      <any><e>r</e></any>
      <any><e>o</e></any>
      <any><e>g</e></any>
      <any><e>any</e></any>
      <o><e>t</e></o>
      text
    </pattern>
    <ele>
      <name>attrib</name>
      <summary>An attribute</summary>
      <pattern>
        <e>name</e>
        <e>type</e>
        <e>required</e>
        <any><e>filter_keywords</e></any>
      </pattern>
      <ele>
        <name>name</name>
        <pattern><t>type_name</t></pattern>
      </ele>
      <ele>
        <name>type</name>
        <pattern><t>type_name</t></pattern>
      </ele>
      <ele>
        <name>required</name>
        <pattern><t>boolean</t></pattern>
      </ele>
      <ele>
        <name>filter_keywords</name>
        <pattern><t>filter_keywords</t></pattern>
        <summary>Optional description of filter keywords usable in the attribute</summary>
      </ele>
    </ele>
    <ele>
      <name>t</name>
      <summary>The type of the text of the element</summary>
      <pattern><t>type_name</t></pattern>
    </ele>
  </element>
  <element>
    <name>command_definition</name>
    <summary>Definition of a command in GMP describing HELP command</summary>
    <pattern>
      <e>name</e>
      <o><e>summary</e></o>
      <o><e>description</e></o>
      <or>
        <g>
          <e>pattern</e>
          <e>response</e>
        </g>
        <g>
          <e>type</e>
          <any><e>ele</e></any>
        </g>
      </or>
      <any><e>example</e></any>
    </pattern>
    <ele>
      <name>name</name>
      <summary>The name of the command</summary>
      <description>The name must be unique</description>
      <pattern><t>type_name</t></pattern>
    </ele>
    <ele>
      <name>summary</name>
      <summary>A summary of the command</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>description</name>
      <summary>A description of the command</summary>
      <pattern>
        <any><e>p</e></any>
        text
      </pattern>
      <ele>
        <name>p</name>
        <summary>A paragraph</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>pattern</name>
      <type>pattern</type>
    </ele>
    <ele>
      <name>response</name>
      <type>pattern</type>
    </ele>
    <ele>
      <name>example</name>
      <pattern>
        <o><e>summary</e></o>
        <o><e>description</e></o>
        <e>request</e>
        <e>response</e>
      </pattern>
      <ele>
        <name>summary</name>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>description</name>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>request</name>
        <summary>Example request</summary>
        <description>This can actually contain any XML</description>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>response</name>
        <summary>Response to example request</summary>
        <description>This can actually contain any XML</description>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>type</name>
      <summary>The type of the element</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>ele</name>
      <summary>An element</summary>
      <description>
        <p>
          This is a recursive definition.
        </p>
        <p>
          command_definition actually includes an extra response element, but
          it's convenient to use it for the elements.
        </p>
      </description>
      <type>command_definition</type>
    </ele>
  </element>
  <element>
    <name>filter_keywords</name>
    <summary>A group of filter keywords usable in an attribute or element text</summary>
    <pattern>
      <o><e>condition</e></o>
      <any><e>column</e></any>
      <any><e>option</e></any>
    </pattern>
    <ele>
      <name>condition</name>
      <pattern>text</pattern>
      <summary>Description of the condition under which the group of keywords applies</summary>
    </ele>
    <ele>
      <name>column</name>
      <pattern>
        <e>name</e>
        <e>type</e>
        <e>summary</e>
      </pattern>
      <summary>A column that can be used multiple times with operators and in sorting</summary>
      <ele>
        <name>name</name>
        <pattern>name</pattern>
        <summary>Name of the keyword as used in the filter</summary>
      </ele>
      <ele>
        <name>type</name>
        <pattern><t>type_name</t></pattern>
        <summary>Type of the values the keyword can use</summary>
      </ele>
      <ele>
        <name>summary</name>
        <pattern>text</pattern>
        <summary>Short description of the keyword</summary>
      </ele>
    </ele>
    <ele>
      <name>option</name>
      <pattern>
        <e>name</e>
        <e>type</e>
        <e>summary</e>
      </pattern>
      <summary>An option only applied once which cannot be used with operators or in sorting</summary>
      <ele>
        <name>name</name>
        <pattern>name</pattern>
        <summary>Name of the keyword as used in the filter</summary>
      </ele>
      <ele>
        <name>type</name>
        <pattern><t>type_name</t></pattern>
        <summary>Type of the values the keyword can use</summary>
      </ele>
      <ele>
        <name>summary</name>
        <pattern>text</pattern>
        <summary>Short description of the keyword</summary>
      </ele>
    </ele>
  </element>
  <element>
    <name>certificate_info</name>
    <summary>Info about a certificate</summary>
    <pattern>
      <e>time_status</e>
      <e>activation_time</e>
      <e>expiration_time</e>
      <e>issuer</e>
      <e>md5_fingerprint</e>
      <o><e>sha256_fingerprint</e></o>
      <o><e>subject</e></o>
      <o><e>serial</e></o>
    </pattern>
    <ele>
      <name>time_status</name>
      <summary>
        Whether the certificate is valid, expired or not active yet
      </summary>
      <pattern>
        <alts>
          <alt>expired</alt>
          <alt>inactive</alt>
          <alt>unknown</alt>
          <alt>valid</alt>
        </alts>
      </pattern>
    </ele>
    <ele>
      <name>activation_time</name>
      <summary>Time before which the certificate is not valid</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>expiration_time</name>
      <summary>Time after which the certificate is no longer valid</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>issuer</name>
      <summary>DN of the issuer of the certificate</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>md5_fingerprint</name>
      <summary>MD5 fingerprint of the certificate</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>sha256_fingerprint</name>
      <summary>SHA-256 fingerprint of the certificate</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>subject</name>
      <summary>Name of the certificate</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>serial</name>
      <summary>Serial number of certificate</summary>
      <pattern>text</pattern>
    </ele>
  </element>
  <element>
    <name>nvt</name>
    <summary>Meta information of a network vulnerability test</summary>
    <pattern>
      <attrib>
        <name>id</name>
        <type>oid</type>
        <required>1</required>
      </attrib>
      <e>name</e>
      <e>creation_time</e>
      <e>modification_time</e>
      <e>category</e>
      <e>family</e>
      <e>cvss_base</e>
      <e>severities</e>
      <e>qod</e>
      <e>refs</e>
      <e>tags</e>
      <e>preference_count</e>
      <e>timeout</e>
      <e>default_timeout</e>
      <e>solution</e>
      <o><e>epss</e></o>
      <e>preferences</e>
    </pattern>
    <ele>
      <name>name</name>
      <summary>Name of the vulnerability test</summary>
      <pattern><t>text</t></pattern>
    </ele>
    <ele>
      <name>creation_time</name>
      <summary>Date and time the vulnerability test was created</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>modification_time</name>
      <summary>Date and time the vulnerability test was last modified</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>category</name>
      <summary>Category of the vulnerability test</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>family</name>
      <summary>Family of the vulnerability test</summary>
      <pattern><t>text</t></pattern>
    </ele>
    <ele>
      <name>cvss_base</name>
      <summary>CVSS base score of the vulnerability test</summary>
      <pattern><t>text</t></pattern>
    </ele>
    <ele>
      <name>severities</name>
      <summary>Severity information of the NVT</summary>
      <type>severities</type>
    </ele>
    <ele>
      <name>qod</name>
      <summary>Quality of Detection</summary>
      <pattern>
        <e>value</e>
        <e>type</e>
      </pattern>
      <ele>
        <name>value</name>
        <summary>The value of the QoD</summary>
        <pattern><t>integer</t></pattern>
      </ele>
      <ele>
        <name>type</name>
        <summary>The type of the QoD</summary>
        <pattern><t>name</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>refs</name>
      <summary>List of references of the vulnerability test</summary>
      <pattern><any><e>ref</e></any></pattern>
    </ele>
    <ele>
      <name>tags</name>
      <summary>Additional information about vulnerability test in pipe-separated syntax</summary>
      <pattern><t>text</t></pattern>
    </ele>
    <ele>
      <name>preference_count</name>
      <summary>The number of preferences</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>timeout</name>
      <summary>The timeout of the vulnerability test</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>default_timeout</name>
      <summary>The default timeout of the vulnerability test</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>solution</name>
      <summary>The solution information for the vulnerability test</summary>
      <pattern>
        <attrib>
          <name>type</name>
          <summary>The solution type, for example "VendorFix"</summary>
          <type>name</type>
          <required>0</required>
        </attrib>
        <attrib>
          <name>method</name>
          <summary>The solution method, for example "DebianAPTUpgrade"</summary>
          <type>name</type>
          <required>0</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>epss</name>
      <summary>Exploit Prediction Scoring System (EPSS) info if available</summary>
      <pattern>
        <e>max_severity</e>
        <e>max_epss</e>
      </pattern>
      <ele>
        <name>max_severity</name>
        <summary>
          EPSS info of the referenced CVE with the highest severity
        </summary>
        <description>
          In case there are multiple CVEs referenced by the NVT tied for the
          highest severity, they are also sorted by EPSS score and modification
          time and the first one is chosen.
        </description>
        <pattern>
          <e>score</e>
          <e>percentile</e>
          <e>cve</e>
        </pattern>
        <ele>
          <name>score</name>
          <summary>EPSS score of the CVE</summary>
          <pattern>
            <t>decimal</t>
          </pattern>
        </ele>
        <ele>
          <name>percentile</name>
          <summary>EPSS percentile of the CVE</summary>
          <pattern>
            <t>decimal</t>
          </pattern>
        </ele>
        <ele>
          <name>cve</name>
          <summary>The representative CVE chosen</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <summary>CVE-ID of the CVE</summary>
              <type>text</type>
            </attrib>
            <o><e>severity</e></o>
          </pattern>
          <ele>
            <name>severity</name>
            <summary>Severity (CVSS) score of the CVE if available</summary>
            <pattern>
              <t>severity</t>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>max_epss</name>
        <summary>
          EPSS info of the referenced CVE with the highest EPSS score
        </summary>
        <description>
          In case there are multiple CVEs referenced by the NVT tied for the
          highest EPSS score, they are also sorted by severity and modification
          time and the first one is chosen.
        </description>
        <pattern>
          <e>score</e>
          <e>percentile</e>
          <e>cve</e>
        </pattern>
        <ele>
          <name>score</name>
          <summary>EPSS score of the CVE</summary>
          <pattern>
            <t>decimal</t>
          </pattern>
        </ele>
        <ele>
          <name>percentile</name>
          <summary>EPSS percentile of the CVE</summary>
          <pattern>
            <t>decimal</t>
          </pattern>
        </ele>
        <ele>
          <name>cve</name>
          <summary>The representative CVE chosen</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <summary>CVE-ID of the CVE</summary>
              <type>text</type>
            </attrib>
            <o><e>severity</e></o>
          </pattern>
          <ele>
            <name>severity</name>
            <summary>Severity (CVSS) score of the CVE if available</summary>
            <pattern>
              <t>severity</t>
            </pattern>
          </ele>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>preferences</name>
      <summary>The list of preferences</summary>
      <pattern><t>text</t></pattern>
    </ele>
  </element>
  <element>
    <name>note</name>
    <summary>A note</summary>
    <pattern>
      <attrib>
        <name>id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <e>permissions</e>
      <e>owner</e>
      <e>nvt</e>
      <e>text</e>
      <e>creation_time</e>
      <e>modification_time</e>
      <e>writable</e>
      <e>in_use</e>
      <e>active</e>
      <e>orphan</e>
      <o><e>user_tags</e></o>
      <o>
        <g>
          <e>hosts</e>
          <e>port</e>
          <e>severity</e>
          <e>task</e>
          <e>end_time</e>
          <o><e>result</e></o>
        </g>
      </o>
    </pattern>
    <ele>
      <name>permissions</name>
      <summary>Permissions that the current user has on the note</summary>
      <pattern>
        <any><e>permission</e></any>
      </pattern>
      <ele>
        <name>permission</name>
        <pattern>
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the permission</summary>
          <pattern><t>name</t></pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>owner</name>
      <summary>Owner of the note</summary>
      <pattern>
        <e>name</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the owner</summary>
        <pattern><t>name</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>nvt</name>
      <pattern>
        <attrib>
          <name>oid</name>
          <type>oid</type>
          <required>1</required>
        </attrib>
        <e>name</e>
        <e>type</e>
      </pattern>
      <ele>
        <name>name</name>
        <pattern><t>name</t></pattern>
      </ele>
      <ele>
        <name>type</name>
        <summary>The type of the NVT: nvt, cve, ...</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>creation_time</name>
      <summary>Date and time the note was created</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>modification_time</name>
      <summary>Date and time the note was last modified</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>writable</name>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>in_use</name>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>active</name>
      <summary>Whether the note is active</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>text</name>
      <summary>The text of the note</summary>
      <pattern>
        <attrib>
          <name>excerpt</name>
          <summary>Whether the content is an excerpt of the full text</summary>
          <type>boolean</type>
          <required>1</required>
        </attrib>
        text
      </pattern>
    </ele>
    <ele>
      <name>orphan</name>
      <summary>Whether the note is an orphan</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>user_tags</name>
      <summary>Info on tags attached to the note</summary>
      <pattern>
        <e>count</e>
        <any><e>tag</e></any>
      </pattern>
      <ele>
        <name>count</name>
        <summary>Number of attached tags</summary>
        <pattern><t>integer</t></pattern>
      </ele>
      <ele>
        <name>tag</name>
        <summary>
          Short info on an individual tag
          (only if details were requested)
        </summary>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <summary>UUID of the tag</summary>
            <required>1</required>
          </attrib>
          <e>name</e>
          <e>value</e>
          <e>comment</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>Name of the tag (usually namespace:predicate)</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <summary>Value of the tag</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>Comment for the tag</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>A comma-separated list of hosts</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>port</name>
      <summary>Port (location) to which note applies</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>severity</name>
      <summary>Severity to which note applies</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>task</name>
      <summary>Task to which note applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <e>name</e>
        <e>trash</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>Task name</summary>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>trash</name>
        <summary>Whether the task is in the trashcan</summary>
        <type>boolean</type>
      </ele>
    </ele>
    <ele>
      <name>active</name>
      <summary>Whether the note is active</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>end_time</name>
      <summary>End time of the note in case of limit, else empty</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>result</name>
      <summary>Result to which note applies</summary>
      <type>result</type>
    </ele>
  </element>
  <element>
    <name>override</name>
    <summary>An override</summary>
    <pattern>
      <attrib>
        <name>id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <e>permissions</e>
      <e>owner</e>
      <e>nvt</e>
      <e>creation_time</e>
      <e>modification_time</e>
      <e>writable</e>
      <e>in_use</e>
      <e>active</e>
      <e>text</e>
      <e>threat</e>
      <e>severity</e>
      <e>new_threat</e>
      <e>new_severity</e>
      <e>orphan</e>
      <o><e>user_tags</e></o>
      <o>
        <g>
          <e>hosts</e>
          <e>port</e>
          <e>task</e>
          <e>end_time</e>
          <o><e>result</e></o>
        </g>
      </o>
    </pattern>
    <ele>
      <name>permissions</name>
      <summary>Permissions that the current user has on the override</summary>
      <pattern>
        <any><e>permission</e></any>
      </pattern>
      <ele>
        <name>permission</name>
        <pattern>
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the permission</summary>
          <pattern><t>name</t></pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>owner</name>
      <summary>Owner of the override</summary>
      <pattern>
        <e>name</e>
      </pattern>
      <ele>
        <name>name</name>
        <pattern><t>name</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>nvt</name>
      <pattern>
        <attrib>
          <name>oid</name>
          <type>oid</type>
          <required>1</required>
        </attrib>
        <e>name</e>
        <e>type</e>
      </pattern>
      <ele>
        <name>name</name>
        <pattern><t>name</t></pattern>
      </ele>
      <ele>
        <name>type</name>
        <summary>The type of the NVT: nvt, cve, ...</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>creation_time</name>
      <summary>Date and time the override was created</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>modification_time</name>
      <summary>Date and time the override was last modified</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>writable</name>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>in_use</name>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>active</name>
      <summary>Whether the override is currently active</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>text</name>
      <summary>The text of the override</summary>
      <pattern>
        <attrib>
          <name>excerpt</name>
          <summary>Whether the contents is an excerpt of the full text</summary>
          <type>boolean</type>
          <required>1</required>
        </attrib>
        text
      </pattern>
    </ele>
    <ele>
      <name>threat</name>
      <summary>
        Threat level to which override applies, derived from severity
      </summary>
      <pattern>
        <t>threat</t>
      </pattern>
    </ele>
    <ele>
      <name>severity</name>
      <summary>Severity score to which override applies</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>new_threat</name>
      <summary>New threat for result</summary>
      <pattern>
        <t>threat</t>
      </pattern>
    </ele>
    <ele>
      <name>new_severity</name>
      <summary>New severity score for result</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>orphan</name>
      <summary>Whether the override is an orphan</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>user_tags</name>
      <summary>Info on tags attached to the override</summary>
      <pattern>
        <e>count</e>
        <any><e>tag</e></any>
      </pattern>
      <ele>
        <name>count</name>
        <summary>Number of attached tags</summary>
        <pattern><t>integer</t></pattern>
      </ele>
      <ele>
        <name>tag</name>
        <summary>
          Short info on an individual tag
          (only if details were requested)
        </summary>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <summary>UUID of the tag</summary>
            <required>1</required>
          </attrib>
          <e>name</e>
          <e>value</e>
          <e>comment</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>Name of the tag (usually namespace:predicate)</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <summary>Value of the tag</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>Comment for the tag</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>A comma-separated list of hosts</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>port</name>
      <summary>Port (location) to which override applies</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>task</name>
      <summary>Task to which override applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <e>name</e>
        <e>trash</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>Task name</summary>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>trash</name>
        <summary>Whether the task is in the trashcan</summary>
        <type>boolean</type>
      </ele>
    </ele>
    <ele>
      <name>active</name>
      <summary>Whether the override is active</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>end_time</name>
      <summary>Override end time in case of limit, else empty</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>result</name>
      <summary>Result to which override applies</summary>
      <type>result</type>
    </ele>
  </element>
  <element>
    <name>result</name>
    <summary>A result</summary>
    <pattern>
      <attrib>
        <name>id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <e>name</e>
      <e>owner</e>
      <e>comment</e>
      <e>creation_time</e>
      <e>modification_time</e>
      <o><e>user_tags</e></o>
      <o><e>report</e></o>
      <o><e>task</e></o>
      <e>host</e>
      <e>port</e>
      <o><e>path</e></o>
      <e>nvt</e>
      <e>scan_nvt_version</e>
      <e>threat</e>
      <e>severity</e>
      <e>qod</e>
      <o><e>original_threat</e></o>
      <o><e>original_severity</e></o>
      <e>compliance</e>
      <e>description</e>
      <o><e>delta</e></o>
      <o><e>detection</e></o>
      <o><e>notes</e></o>
      <o><e>overrides</e></o>
      <o><e>tickets</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>The name of the result</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>owner</name>
      <summary>Owner of the result</summary>
      <pattern>
        <e>name</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the owner</summary>
        <pattern><t>name</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>comment</name>
      <summary>The comment on the result</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>creation_time</name>
      <summary>Date and time the result was created</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>modification_time</name>
      <summary>Date and time the result was last modified</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>user_tags</name>
      <summary>Info on tags attached to the result (not in delta results)</summary>
      <pattern>
        <e>count</e>
        <any><e>tag</e></any>
      </pattern>
      <ele>
        <name>count</name>
        <summary>Number of attached tags</summary>
        <pattern><t>integer</t></pattern>
      </ele>
      <ele>
        <name>tag</name>
        <summary>
          Short info on an individual tag
          (only if details were requested)
        </summary>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <summary>UUID of the tag</summary>
            <required>1</required>
          </attrib>
          <e>name</e>
          <e>value</e>
          <e>comment</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>Name of the tag (usually namespace:predicate)</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <summary>Value of the tag</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>Comment for the tag</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>report</name>
      <summary>
        Report the result belongs to (only when details were requested)
      </summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <summary>UUID of the report the result belongs to</summary>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>task</name>
      <summary>
        Task the result applies to (only when details were requested)
      </summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <summary>UUID of the task the result applies to</summary>
          <required>1</required>
        </attrib>
        <e>name</e>
      </pattern>
      <ele>
        <name>name</name>
        <pattern>text</pattern>
        <summary>Name of the task the result applies to</summary>
      </ele>
    </ele>
    <ele>
      <name>host</name>
      <summary>The host the result applies to</summary>
      <pattern>
        <e>asset</e>
        <e>hostname</e>
        text
      </pattern>
      <ele>
        <name>asset</name>
        <summary>Asset linked to host</summary>
        <pattern>
          <attrib>
            <name>asset_id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>hostname</name>
        <summary>
          If available, the hostname the result was created for, else the
          one from host details
        </summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>port</name>
      <summary>The port (location) on the host</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>path</name>
      <summary>The local path on the host, e.g. a file location</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>nvt</name>
      <summary>NVT to which result applies</summary>
      <pattern>
        <attrib>
          <name>oid</name>
          <type>oid</type>
          <required>1</required>
        </attrib>
        <e>name</e>
        <e>type</e>
        <e>family</e>
        <e>cvss_base</e>
        <e>severities</e>
        <e>cpe</e>
        <e>tags</e>
        <o><e>epss</e></o>
        <e>refs</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the NVT</summary>
        <pattern><t>name</t></pattern>
      </ele>
      <ele>
        <name>type</name>
        <summary>The type of the NVT: nvt, cve, ...</summary>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>family</name>
        <summary>The family the NVT is in</summary>
        <pattern><t>name</t></pattern>
      </ele>
      <ele>
        <name>cvss_base</name>
        <summary>CVSS base value associated with the NVT</summary>
        <pattern><t>integer</t></pattern>
      </ele>
      <ele>
        <name>severities</name>
        <summary>Severity score information of the NVT</summary>
        <type>severities</type>
      </ele>
      <ele>
        <name>cpe</name>
        <summary>The CPE which produced the CVE (for "cve" results)</summary>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>tags</name>
        <summary>Tags associated with the NVT</summary>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>epss</name>
        <summary>Exploit Prediction Scoring System (EPSS) info if available</summary>
        <pattern>
          <e>max_severity</e>
          <e>max_epss</e>
        </pattern>
        <ele>
          <name>max_severity</name>
          <summary>
            EPSS info of the referenced CVE with the highest severity
          </summary>
          <description>
            In case there are multiple CVEs referenced by the NVT tied for the
            highest severity, they are also sorted by EPSS score and modification
            time and the first one is chosen.
          </description>
          <pattern>
            <e>score</e>
            <e>percentile</e>
            <e>cve</e>
          </pattern>
          <ele>
            <name>score</name>
            <summary>EPSS score of the CVE</summary>
            <pattern>
              <t>decimal</t>
            </pattern>
          </ele>
          <ele>
            <name>percentile</name>
            <summary>EPSS percentile of the CVE</summary>
            <pattern>
              <t>decimal</t>
            </pattern>
          </ele>
          <ele>
            <name>cve</name>
            <summary>The representative CVE chosen</summary>
            <pattern>
              <attrib>
                <name>id</name>
                <summary>CVE-ID of the CVE</summary>
                <type>text</type>
              </attrib>
              <o><e>severity</e></o>
            </pattern>
            <ele>
              <name>severity</name>
              <summary>Severity (CVSS) score of the CVE if available</summary>
              <pattern>
                <t>severity</t>
              </pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>max_epss</name>
          <summary>
            EPSS info of the referenced CVE with the highest EPSS score
          </summary>
          <description>
            In case there are multiple CVEs referenced by the NVT tied for the
            highest EPSS score, they are also sorted by severity and modification
            time and the first one is chosen.
          </description>
          <pattern>
            <e>score</e>
            <e>percentile</e>
            <e>cve</e>
          </pattern>
          <ele>
            <name>score</name>
            <summary>EPSS score of the CVE</summary>
            <pattern>
              <t>decimal</t>
            </pattern>
          </ele>
          <ele>
            <name>percentile</name>
            <summary>EPSS percentile of the CVE</summary>
            <pattern>
              <t>decimal</t>
            </pattern>
          </ele>
          <ele>
            <name>cve</name>
            <summary>The representative CVE chosen</summary>
            <pattern>
              <attrib>
                <name>id</name>
                <summary>CVE-ID of the CVE</summary>
                <type>text</type>
              </attrib>
              <o><e>severity</e></o>
            </pattern>
            <ele>
              <name>severity</name>
              <summary>Severity (CVSS) score of the CVE if available</summary>
              <pattern>
                <t>severity</t>
              </pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>refs</name>
        <summary>List of references of various types for this vulnerability test</summary>
        <pattern>
          <any><e>ref</e></any>
        </pattern>
        <ele>
          <name>ref</name>
          <summary>A reference</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <summary>ID of the reference</summary>
              <type>text</type>
            </attrib>
            <attrib>
              <name>type</name>
              <summary>Type of the reference, for example "cve", "dfn-cert", "cert-bund"
              </summary>
              <type>text</type>
            </attrib>
          </pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>scan_nvt_version</name>
      <summary>Version of the NVT used in the scan</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>threat</name>
      <pattern><t>threat</t></pattern>
    </ele>
    <ele>
      <name>severity</name>
      <pattern><t>severity</t></pattern>
    </ele>
    <ele>
      <name>qod</name>
      <summary>The quality of detection (QoD) of the result</summary>
      <pattern>
        <e>value</e>
        <e>type</e>
      </pattern>
      <ele>
        <name>value</name>
        <summary>The numeric QoD value</summary>
        <pattern><t>integer</t></pattern>
      </ele>
      <ele>
        <name>type</name>
        <summary>The QoD type</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>original_threat</name>
      <summary>Original threat when overridden</summary>
      <pattern><t>threat</t></pattern>
    </ele>
    <ele>
      <name>original_severity</name>
      <summary>Original severity when overridden</summary>
      <pattern><t>severity</t></pattern>
    </ele>
    <ele>
      <name>compliance</name>
      <summary>Result compliance ("yes", "no", "incomplete" or "undefined")</summary>
      <pattern><t>compliance_status</t></pattern>
    </ele>    
    <ele>
      <name>description</name>
      <summary>Description of the result</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>delta</name>
      <summary>Delta state</summary>
      <pattern>
        <o><e>result</e></o>
        <o><e>diff</e></o>
        <o><e>notes</e></o>
        <o><e>overrides</e></o>
        text
      </pattern>
      <ele>
        <name>result</name>
        <summary>Delta result</summary>
        <type>result</type>
      </ele>
      <ele>
        <name>diff</name>
        <summary>Comparison between descriptions</summary>
        <type>text</type>
      </ele>
      <ele>
        <name>notes</name>
        <summary>List of notes on the result</summary>
        <pattern>
          <any><e>note</e></any>
        </pattern>
        <ele>
          <name>note</name>
          <type>note</type>
        </ele>
      </ele>
      <ele>
        <name>overrides</name>
        <name>overrides</name>
        <summary>List of overrides on the result</summary>
        <pattern>
          <any><e>override</e></any>
        </pattern>
        <ele>
          <name>override</name>
          <type>override</type>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>detection</name>
      <summary>Detection details</summary>
      <pattern><e>result</e></pattern>
      <ele>
        <name>result</name>
        <summary>Detection result</summary>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of the detection result</summary>
            <required>1</required>
            <type>uuid</type>
          </attrib>
          <e>details</e>
        </pattern>
        <ele>
          <name>details</name>
          <pattern>
            <any><e>detail</e></any>
          </pattern>
          <ele>
            <name>detail</name>
            <summary>A detail associated with the detection result</summary>
            <pattern>
              <e>name</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the detail</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The value of the detail</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>notes</name>
      <summary>List of notes on the result</summary>
      <pattern>
        <any><e>note</e></any>
      </pattern>
      <ele>
        <name>note</name>
        <type>note</type>
      </ele>
    </ele>
    <ele>
      <name>overrides</name>
      <summary>List of overrides on the result</summary>
      <pattern>
        <any><e>override</e></any>
      </pattern>
      <ele>
        <name>override</name>
        <type>override</type>
      </ele>
    </ele>
    <ele>
      <name>tickets</name>
      <summary>List of tickets on the result</summary>
      <pattern>
        <any><e>ticket</e></any>
      </pattern>
      <ele>
        <name>ticket</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
  </element>
  <element>
    <name>report</name>
    <summary>Actually attributes and either base64 or a report</summary>
    <pattern>
      <attrib>
        <name>id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>format_id</name>
        <type>uuid</type>
        <summary>UUID of the report format used</summary>
        <required>1</required>
      </attrib>
      <attrib>
        <name>config_id</name>
        <type>uuid</type>
        <summary>UUID of the report config used</summary>
        <required>1</required>
      </attrib>
      <attrib>
        <name>extension</name>
        <type>text</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>content_type</name>
        <type>text</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>type</name>
        <type>
          <alts>
            <alt>scan</alt>
            <alt>assets</alt>
          </alts>
        </type>
      </attrib>
      <t>base64</t>
      <e>owner</e>
      <e>name</e>
      <e>comment</e>
      <e>creation_time</e>
      <e>modification_time</e>
      <e>writable</e>
      <e>in_use</e>
      <e>task</e>
      <o><e>report_format</e></o>
      <o><e>report_config</e></o>
      <e>report</e>
    </pattern>
    <ele>
      <name>owner</name>
      <summary>Owner of the report</summary>
      <pattern>
        <e>name</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the owner</summary>
        <pattern><t>name</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>name</name>
      <summary>Creation time as compatibility placeholder</summary>
      <pattern></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>The comment on the report</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>creation_time</name>
      <summary>Date and time the report was created</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>modification_time</name>
      <summary>Date and time the report was last modified</summary>
      <pattern><t>iso_time</t></pattern>
    </ele>
    <ele>
      <name>in_use</name>
      <summary>Whether the report is in use</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>writable</name>
      <summary>Whether the report is writable</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>task</name>
      <summary>The task the report belongs to</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <e>name</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the task</summary>
        <pattern><t>name</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>report_format</name>
      <summary>The report format used</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <e>name</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the report format</summary>
        <pattern><t>name</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>report_config</name>
      <summary>The report config used</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <e>name</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the report config</summary>
        <pattern><t>name</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>report</name>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>type</name>
          <type>
            <alts>
              <alt>scan</alt>
              <alt>assets</alt>
            </alts>
          </type>
        </attrib>
        <e>gmp</e>
        <e>report_format</e>
        <e>sort</e>
        <e>filters</e>
        <o><e>delta</e></o>
        <o>
          <g>
            <e>timezone</e>
            <e>timezone_abbrev</e>
            <e>permissions</e>
            <o><e>user_tags</e></o>
            <e>scan_run_status</e>
            <o>
              <e>result_count</e>
              <e>severity</e>
            </o>
            <o><e>compliance_count</e></o>
            <o><e>compliance</e></o>
            <e>task</e>
            <e>ports</e>
            <e>results</e>
            <e>hosts</e>
            <e>closed_cves</e>
            <e>vulns</e>
            <e>os</e>
            <e>apps</e>
            <e>ssl_certs</e>
            <any><e>host</e></any>
            <e>tls_certificates</e>
            <e>timestamp</e>
            <e>scan_start</e>
            <e>scan_end</e>
            <e>errors</e>
          </g>
        </o>
      </pattern>
      <ele>
        <name>gmp</name>
        <summary>Information of the GMP server</summary>
        <pattern>
          <e>version</e>
        </pattern>
        <ele>
          <name>version</name>
          <summary>The GMP version</summary>
          <pattern>
            text
          </pattern>
        </ele>
      </ele>
      <ele>
        <name>report_format</name>
        <pattern>
          <e>param</e>
        </pattern>
        <ele>
          <name>param</name>
          <summary>Report format parameter</summary>
          <pattern>
            <e>name</e>
            <e>value</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>Parameter name</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>value</name>
            <summary>Parameter value</summary>
            <pattern>
              text
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>delta</name>
        <pattern>
          <e>report</e>
        </pattern>
        <ele>
          <name>report</name>
          <summary>Second report, for delta reports</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
            <e>scan_run_status</e>
            <e>timestamp</e>
            <e>scan_start</e>
            <e>scan_end</e>
          </pattern>
          <ele>
            <name>scan_run_status</name>
            <summary>Run status of task scan at time of report</summary>
            <pattern><t>task_status</t></pattern>
          </ele>
          <ele>
            <name>timestamp</name>
            <summary>The time the scan was requested</summary>
            <pattern><t>iso_time</t></pattern>
          </ele>
          <ele>
            <name>scan_start</name>
            <summary>Start time of scan</summary>
            <pattern><t>iso_time</t></pattern>
          </ele>
          <ele>
            <name>scan_end</name>
            <summary>End time of scan</summary>
            <pattern><t>iso_time</t></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <summary>Result sorting information</summary>
        <pattern>
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <summary>Sort field</summary>
          <pattern>
            text
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <summary>Sort order of field</summary>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <summary>Result filtering information</summary>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>Filter used if any, else 0</summary>
            <type>uuid</type>
          </attrib>
          <t>levels</t>
          <e>term</e>
          <e>phrase</e>
          <e>notes</e>
          <e>overrides</e>
          <e>apply_overrides</e>
          <e>result_hosts_only</e>
          <e>min_qod</e>
          <any><e>filter</e></any>
          <o><e>delta</e></o>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>
            <t>text</t>
          </pattern>
        </ele>
        <ele>
          <name>phrase</name>
          <summary>Search phrase</summary>
          <pattern>
            <t>text</t>
          </pattern>
        </ele>
        <ele>
          <name>notes</name>
          <summary>Whether notes are included</summary>
          <pattern>
            <alts><alt>0</alt><alt>1</alt></alts>
          </pattern>
        </ele>
        <ele>
          <name>overrides</name>
          <summary>Whether overrides are included</summary>
          <pattern>
            <alts><alt>0</alt><alt>1</alt></alts>
          </pattern>
        </ele>
        <ele>
          <name>apply_overrides</name>
          <summary>Whether overrides are applied</summary>
          <pattern>
            <alts><alt>0</alt><alt>1</alt></alts>
          </pattern>
        </ele>
        <ele>
          <name>result_hosts_only</name>
          <summary>
            Whether only those hosts that have results are included
          </summary>
          <pattern>
            <alts><alt>0</alt><alt>1</alt></alts>
          </pattern>
        </ele>
        <ele>
          <name>min_qod</name>
          <summary>Minimum QoD if in effect, else empty string</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>filter</name>
          <summary>Level filter</summary>
          <pattern>
            <alts>
              <alt>Critical</alt>
              <alt>High</alt>
              <alt>Medium</alt>
              <alt>Low</alt>
              <alt>Log</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>delta</name>
          <summary>Delta states</summary>
          <pattern>
            text
            <e>changed</e>
            <e>gone</e>
            <e>new</e>
            <e>same</e>
          </pattern>
          <ele>
            <name>changed</name>
            <summary>Whether changed results are included</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
          <ele>
            <name>gone</name>
            <summary>Whether results that have vanished are included</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
          <ele>
            <name>new</name>
            <summary>Whether new results are included</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
          <ele>
            <name>same</name>
            <summary>Whether results that are equal are included</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>timezone</name>
        <summary>Name of timezone used for dates</summary>
        <pattern>
          timezone
        </pattern>
      </ele>
      <ele>
        <name>timezone_abbrev</name>
        <summary>Abbreviation used for timezone</summary>
        <pattern>
          text
        </pattern>
      </ele>
      <ele>
        <name>permissions</name>
        <summary>Permissions that the current user has on the report</summary>
        <pattern>
          <any><e>permission</e></any>
        </pattern>
        <ele>
          <name>permission</name>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the permission</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>user_tags</name>
        <summary>Info on tags attached to the report</summary>
        <pattern>
          <e>count</e>
          <any><e>tag</e></any>
        </pattern>
        <ele>
          <name>count</name>
          <summary>Number of attached tags</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>tag</name>
          <summary>
            Short info on an individual tag
            (only if details were requested)
          </summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <summary>UUID of the tag</summary>
              <required>1</required>
            </attrib>
            <e>name</e>
            <e>value</e>
            <e>comment</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>Name of the tag (usually namespace:predicate)</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>value</name>
            <summary>Value of the tag</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>comment</name>
            <summary>Comment for the tag</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>scan_run_status</name>
        <summary>Run status of task scan at time of report</summary>
        <pattern><t>task_status</t></pattern>
      </ele>
      <ele>
        <name>result_count</name>
        <summary>Counts of results produced by scan</summary>
        <description>
          <p>
            The text contains the full count -- the total number of results
            produced by scan.
          </p>
        </description>
        <pattern>
          text
          <e>full</e>
          <e>filtered</e>
          <e>critical</e>
          <e>hole</e>
          <e>high</e>
          <e>info</e>
          <e>low</e>
          <e>log</e>
          <e>warning</e>
          <e>medium</e>
        </pattern>
        <ele>
          <name>full</name>
          <summary>Total number of results produced by scan</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>filtered</name>
          <summary>Number of results after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>critical</name>
          <summary>
            Number of "critical" results (threat level critical)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>hole</name>
          <summary>
            Number of "hole" results (threat level High)
            ,will be deprecated. Use high instead
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>high</name>
          <summary>
            Number of "high" results (threat level High)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>info</name>
          <summary>
            Number of "info" results (threat level Low)
            ,will be deprecated. Use low instead
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>low</name>
          <summary>
            Number of "low" results (threat level Low)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>log</name>
          <summary>
            Number of "log" results (threat level Log)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>warning</name>
          <summary>
            Number of "warning" results (threat level Medium)
            ,will be deprecated. Use medium instead
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>medium</name>
          <summary>
            Number of "medium" results (threat level Medium)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>compliance_count</name>
        <summary>Counts of compliance results. Only for reports of an audit task.</summary>
        <description>
          <p>
            The text contains the full count. The total number of compliance results.
          </p>
        </description>
        <pattern>
          text
          <e>full</e>
          <e>filtered</e>
          <e>yes</e>
          <e>no</e>
          <e>incomplete</e>
          <e>undefined</e>
        </pattern>
        <ele>
          <name>full</name>
          <summary>Total number of compliance results</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>filtered</name>
          <summary>Number of compliance results after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>yes</name>
          <summary>
            Number of "yes" results (compliant)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>no</name>
          <summary>
            Number of "no" results (not compliant)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>incomplete</name>
          <summary>
            Number of "incomplete" results (incomplete compliance)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>undefined</name>
          <summary>
            Number of "undefined" results (undefined compliance)
          </summary>
          <pattern>
            <e>full</e>
            <e>filtered</e>
          </pattern>
          <ele>
            <name>full</name>
            <summary>Total number of results</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>filtered</name>
            <summary>Number of results after filtering</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>severity</name>
        <pattern>
          <e>full</e>
          <e>filtered</e>
        </pattern>
        <ele>
          <name>full</name>
          <pattern><t>severity</t></pattern>
          <summary>Maximum severity of the full report</summary>
        </ele>
        <ele>
          <name>filtered</name>
          <pattern><t>severity</t></pattern>
          <summary>Maximum severity of the report after filtering</summary>
        </ele>
      </ele>
      <ele>
        <name>compliance</name>
        <pattern>
          <e>full</e>
          <e>filtered</e>
        </pattern>
        <ele>
          <name>full</name>
          <pattern><t>compliance_status</t></pattern>
          <summary>Compliance of the full report ("yes", "no", "incomplete" or "undefined")</summary>
        </ele>
        <ele>
          <name>filtered</name>
          <pattern><t>compliance_status</t></pattern>
          <summary>Compliance of the report after filtering ("yes", "no", "incomplete" or "undefined")</summary>
        </ele>
      </ele>
      <ele>
        <name>task</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>name</e>
          <e>comment</e>
          <e>target</e>
          <e>progress</e>
          <o><e>user_tags</e></o>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the task</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>Comment for the task</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>target</name>
          <summary>The target of the task</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <summary>The UUID of the target</summary>
            </attrib>
            <e>trash</e>
            <e>name</e>
            <e>comment</e>
          </pattern>
          <ele>
            <name>trash</name>
            <summary>Whether the target is in the trashcan</summary>
            <type>boolean</type>
          </ele>
          <ele>
            <name>name</name>
            <summary>The name of the target</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>comment</name>
            <summary>Comment for the target</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
        <ele>
          <name>progress</name>
          <summary>The percentage of the task that is complete</summary>
          <pattern>
            <t>integer</t>
          </pattern>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the task</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>ports</name>
        <pattern>
          <attrib>
            <name>start</name>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <any><e>port</e></any>
        </pattern>
        <ele>
          <name>port</name>
          <pattern>
            text
            <e>host</e>
            <e>severity</e>
            <e>threat</e>
          </pattern>
          <ele>
            <name>host</name>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>severity</name>
            <pattern><t>severity</t></pattern>
          </ele>
          <ele>
            <name>threat</name>
            <pattern><t>threat</t></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>results</name>
        <pattern>
          <attrib>
            <name>start</name>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <any><e>result</e></any>
        </pattern>
        <ele>
          <name>result</name>
          <summary>A result</summary>
          <type>result</type>
        </ele>
      </ele>
      <ele>
        <name>hosts</name>
        <description>
          <p>
            Analogous to the results element, but for hosts, in the "assets"
            report.  However to keep backward compatibility the host elements
            are siblings of this element, instead of children.
          </p>
          <p>
            Contains only the count outside the "assets" report.
          </p>
        </description>
        <pattern>
          <or>
            <g>
              <attrib>
                <name>start</name>
                <type>integer</type>
                <required>1</required>
              </attrib>
              <attrib>
                <name>max</name>
                <type>integer</type>
                <required>1</required>
              </attrib>
            </g>
            <e>count</e>
          </or>
        </pattern>
        <ele>
          <name>count</name>
          <summary>Number of hosts</summary>
        </ele>
      </ele>
      <ele>
        <name>closed_cves</name>
        <summary></summary>
        <pattern>
          <e>count</e>
        </pattern>
        <ele>
          <name>count</name>
          <summary>The number of closed CVEs</summary>
        </ele>
      </ele>
      <ele>
        <name>vulns</name>
        <summary></summary>
        <pattern>
          <e>count</e>
        </pattern>
        <ele>
          <name>count</name>
          <summary>The number of Vulnerabilities</summary>
        </ele>
      </ele>
      <ele>
        <name>os</name>
        <summary></summary>
        <pattern>
          <e>count</e>
        </pattern>
        <ele>
          <name>count</name>
          <summary>The number of operating systems</summary>
        </ele>
      </ele>
      <ele>
        <name>apps</name>
        <summary></summary>
        <pattern>
          <e>count</e>
        </pattern>
        <ele>
          <name>count</name>
          <summary>The number of Applications</summary>
        </ele>
      </ele>
      <ele>
        <name>ssl_certs</name>
        <summary></summary>
        <pattern>
          <e>count</e>
        </pattern>
        <ele>
          <name>count</name>
          <summary>The number of SSL certificates</summary>
        </ele>
      </ele>
      <ele>
        <name>host</name>
        <pattern>
          <e>ip</e>
          <e>asset</e>
          <e>start</e>
          <e>end</e>
          <e>port_count</e>
          <o>
            <e>result_count</e>
          </o>
          <o><e>compliance_count</e></o>
          <o><e>host_compliance</e></o>
          <any><e>detail</e></any>
        </pattern>
        <ele>
          <name>ip</name>
          <summary>IP of the host</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>asset</name>
          <summary>Asset linked to host</summary>
          <pattern>
            <attrib>
              <name>asset_id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
          </pattern>
        </ele>
        <ele>
          <name>start</name>
          <summary>Scan start time for this host</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>end</name>
          <summary>Scan end time for this host</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>port_count</name>
          <summary></summary>
          <pattern>
            <e>page</e>
          </pattern>
          <ele>
            <name>page</name>
            <summary>Number of ports of current host on current page</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>result_count</name>
          <summary></summary>
          <pattern>
            <e>page</e>
            <e>critical</e>
            <e>hole</e>
            <e>high</e>
            <e>info</e>
            <e>low</e>
            <e>log</e>
            <e>warning</e>
            <e>medium</e>
            <e>false_positive</e>
          </pattern>
          <ele>
            <name>page</name>
            <summary>Total number of results for current host on current page</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>critical</name>
            <summary>
              Number of "critical" results (level "Critical")
            </summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>hole</name>
            <summary>
              Number of "hole" results (level "High")
              ,will be deprecated. Use high instead
            </summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>high</name>
            <summary>
              Number of "high" results (level "High")
            </summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>warning</name>
            <summary>
              Number of "warning" results (level "Medium")
              ,will be deprecated. Use medium instead
            </summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>medium</name>
            <summary>
              Number of "medium" results (level "Medium")
            </summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>info</name>
            <summary>
              Number of "info" results (level "Low")
              ,will be deprecated. Use low instead
            </summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>low</name>
            <summary>Number of "low" results (level "Low")</summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>log</name>
            <summary>Number of "log" results</summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>false_positive</name>
            <summary>Number of "false positive" results</summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>compliance_count</name>
          <summary>Only for audit reports</summary>
          <pattern>
            <e>page</e>
            <e>yes</e>
            <e>no</e>
            <e>incomplete</e>
            <e>undefined</e>
          </pattern>
          <ele>
            <name>page</name>
            <summary>Total number of results for current host on current page</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>yes</name>
            <summary>Number of "yes" results (compliant)</summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>no</name>
            <summary>Number of "no" results (not compliant)</summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>incomplete</name>
            <summary>Number of "incomplete" results (incomplete compliance)</summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>undefined</name>
            <summary>Number of "undefined" results (undefined compliance)</summary>
            <pattern>
              <e>page</e>
            </pattern>
            <ele>
              <name>page</name>
              <summary>Number of results on current page</summary>
              <pattern><t>integer</t></pattern>
            </ele>
          </ele>          
        </ele>
        <ele>
          <name>host_compliance</name>
          <summary>Only for audit reports. Host compliance</summary>
          <pattern><t>compliance_status</t></pattern>
        </ele>
        <ele>
          <name>detail</name>
          <summary>A detail associated with the host</summary>
          <pattern>
            <e>name</e>
            <e>value</e>
            <e>source</e>
            <e>extra</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the detail</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>value</name>
            <summary>The value of the detail</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>source</name>
            <summary>Where the detail comes from</summary>
            <pattern>
              <e>type</e>
              <e>name</e>
              <e>description</e>
            </pattern>
            <ele>
              <name>type</name>
              <summary>The type of the detail source</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>name</name>
              <summary>The name of the detail source</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>description</name>
              <summary>A description of the detail source</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
          <ele>
            <name>extra</name>
            <summary>Extra info (NVT CVSS for closed CVE results)</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>tls_certificates</name>
        <summary>List of TLS certificates found with the scan</summary>
        <pattern>
          <any><e>tls_certificate</e></any>
        </pattern>
        <ele>
          <name>tls_certificate</name>
          <summary>TLS certificate found with the scan</summary>
          <pattern>
            <e>name</e>
            <e>certificate</e>
            <e>sha256_fingerprint</e>
            <e>md5_fingerprint</e>
            <e>valid</e>
            <e>activation_time</e>
            <e>expiration_time</e>
            <e>subject_dn</e>
            <e>issuer_dn</e>
            <e>serial</e>
            <e>host</e>
            <e>ports</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the TLS certificate</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>certificate</name>
            <summary>The Base64 encoded certificate data</summary>
            <pattern>
              <attrib>
                <name>format</name>
                <summary>The format of the certificate</summary>
                <type>
                  <alts>
                    <alt>DER</alt>
                    <alt>PEM</alt>
                    <alt>unknown</alt>
                  </alts>
                </type>
                <required>1</required>
              </attrib>
            </pattern>
          </ele>
          <ele>
            <name>sha256_fingerprint</name>
            <summary>The SHA256 fingerprint of the certificate</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>md5_fingerprint</name>
            <summary>The MD5 fingerprint of the certificate</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>valid</name>
            <summary>Whether the certificate is currently valid</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
          <ele>
            <name>activation_time</name>
            <summary>Time before which the certificate is not valid</summary>
            <pattern><t>iso_time</t></pattern>
          </ele>
          <ele>
            <name>expiration_time</name>
            <summary>Time after which the certificate is not valid</summary>
            <pattern><t>iso_time</t></pattern>
          </ele>
          <ele>
            <name>subject_dn</name>
            <summary>Distinguished name (DN) of the certificate subject</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>issuer_dn</name>
            <summary>Distinguished name (DN) of the certificate issuer</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>serial</name>
            <summary>Hexadecimal serial number of the certificate</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>host</name>
            <summary>Host where the certificate was found</summary>
            <pattern>
              <e>ip</e>
              <e>hostname</e>
            </pattern>
            <ele>
              <name>ip</name>
              <summary>IP address of the host</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>hostname</name>
              <summary>If available, the hostname from host details</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
          <ele>
            <name>ports</name>
            <summary>List of ports where the certificate was found</summary>
            <pattern>
              <any><e>port</e></any>
            </pattern>
            <ele>
              <name>port</name>
              <summary>Port where the certificate was found</summary>
              <pattern><t>integer</t></pattern>
            </ele>           
          </ele>
        </ele>
      </ele>
      <ele>
        <name>timestamp</name>
        <summary>The time the scan was requested</summary>
        <pattern><t>iso_time</t></pattern>
      </ele>
      <ele>
        <name>scan_start</name>
        <summary>Start time of scan</summary>
        <pattern><t>iso_time</t></pattern>
      </ele>
      <ele>
        <name>scan_end</name>
        <summary>End time of scan</summary>
        <pattern><t>iso_time</t></pattern>
      </ele>
      <ele>
        <name>errors</name>
        <pattern>
          <e>count</e>
          <any><e>error</e></any>
        </pattern>
        <ele>
          <name>count</name>
          <summary>The number of error messages</summary>
        </ele>
        <ele>
          <name>error</name>
          <summary>An error message</summary>
          <pattern>
            <e>host</e>
            <e>port</e>
            <e>description</e>
            <e>nvt</e>
            <e>scan_nvt_version</e>
            <e>severity</e>
          </pattern>
          <ele>
            <name>host</name>
            <summary>The host of the error message</summary>
            <pattern>
              <e>asset</e>
              text
            </pattern>
            <ele>
              <name>asset</name>
              <summary>Asset linked to host</summary>
              <pattern>
                <attrib>
                  <name>asset_id</name>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
              </pattern>
            </ele>
          </ele>
          <ele>
            <name>port</name>
            <summary>The port (location) of the error message</summary>
            <pattern><t>port</t></pattern>
          </ele>
          <ele>
            <name>description</name>
            <summary>The description of the error message</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>nvt</name>
            <summary>The NVT that generated the error message</summary>
            <pattern>
              <attrib>
                <name>oid</name>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>type</e>
              <e>cvss_base</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the NVT</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>The type of the NVT: nvt, cve, ...</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>cvss_base</name>
              <summary>The base CVSS score of the NVT</summary>
              <pattern><t>severity</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>scan_nvt_version</name>
            <summary>The NVT version that generated the error</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>severity</name>
            <summary>The severity score of the error message</summary>
            <pattern><t>severity</t></pattern>
          </ele>
        </ele>
      </ele>
    </ele>
  </element>
  <element>
    <name>severities</name>
    <summary>A collection of severity scoring info</summary>
    <pattern>
      <attrib>
        <name>score</name>
        <required>1</required>
        <summary>The maximum severity score</summary>
        <type>severity</type>
      </attrib>
      <any><e>severity</e></any>
    </pattern>
    <ele>
      <name>severity</name>
      <summary>Individual severity ratings and info</summary>
      <pattern>
        <attrib>
          <name>type</name>
          <type>text</type>
          <required>1</required>
          <summary>Type of severity rating, e.g. cvss_base_v2</summary>
        </attrib>
        <e>origin</e>
        <e>date</e>
        <e>score</e>
        <e>value</e>
      </pattern>
      <ele>
        <name>origin</name>
        <summary>Origin of severity rating</summary>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>date</name>
        <summary>Date the severity was defined</summary>
        <pattern><t>iso_time</t></pattern>
      </ele>
      <ele>
        <name>score</name>
        <summary>Numeric score ranging from 0.0 to 10.0</summary>
        <pattern><t>severity</t></pattern>
      </ele>
      <ele>
        <name>value</name>
        <summary>Detailed rating value, e.g. a CVSS vector</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
  </element>

  <!-- Commands. -->

  <command>
    <name>authenticate</name>
    <summary>Authenticate with the manager</summary>
    <description>
      <p>
        The client uses the authenticate command to authenticate with the
        Manager.
      </p>
      <p>
        The client normally executes this command at the beginning of each
        connection.  The only command permitted before authentication is
        get_version.
      </p>
    </description>
    <pattern>
      <e>credentials</e>
    </pattern>
    <ele>
      <name>credentials</name>
      <pattern>
        <e>username</e>
        <e>password</e>
      </pattern>
      <ele>
        <name>username</name>
        <summary>The login name of the user</summary>
        <pattern>
          text
        </pattern>
      </ele>
      <ele>
        <name>password</name>
        <summary>The user's password</summary>
        <pattern>
          text
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>role</e>
        <e>timezone</e>
      </pattern>
      <ele>
        <name>role</name>
        <summary>The user's role</summary>
        <type>
          <alts>
            <alt>User</alt>
            <alt>Admin</alt>
            <alt>Super Admin</alt>
            <alt>Observer</alt>
          </alts>
        </type>
      </ele>
      <ele>
        <name>timezone</name>
        <summary>The user's timezone</summary>
        <pattern>
          timezone
        </pattern>
      </ele>
    </response>
    <example>
      <summary>Authenticate with a good password</summary>
      <request>
        <authenticate>
          <credentials>
            <username>sally</username>
            <password>secret</password>
          </credentials>
        </authenticate>
      </request>
      <response>
        <authenticate_response status="200" status_text="OK">
          <role>User</role>
          <timezone>UTC</timezone>
        </authenticate_response>
      </response>
    </example>
    <example>
      <summary>Authenticate with a bad password</summary>
      <request>
        <authenticate>
          <credentials>
            <username>sally</username>
            <password>secrte</password>
          </credentials>
        </authenticate>
      </request>
      <response>
        <authenticate_response status="400"
                               status_text="Authentication failed"/>
      </response>
    </example>
  </command>
  @IF_ENABLE_AGENTS@
  <command>
    <name>create_agent_group</name>
    <summary>Create an agent group</summary>
    <description>
      <p>
        A name for the new agent group is required. Optionally, a comment and a list of agents
        to include in the group should be provided.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>agents</e></o>
      <o><e>copy</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>Name of the new agent group</summary>
      <pattern>text</pattern>
      <required>1</required>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Optional user-supplied comment</summary>
      <pattern>text</pattern>
      <required>0</required>
    </ele>
    <ele>
      <name>agents</name>
      <summary>List of agents to include in the group</summary>
      <pattern>
        <any><e>agent</e></any>
      </pattern>
      <ele>
        <name>agent</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>copy</name>
      <summary>UUID of an existing group to copy from</summary>
      <pattern>uuid</pattern>
      <required>0</required>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create an agent group with agents</summary>
      <request>
        <create_agent_group>
          <name>Test Agent Group</name>
          <comment>Created via gvm-cli for testing</comment>
          <agents>
            <agent id="48c1b767-b699-45a4-a8bb-3325f2865913"/>
            <agent id="c947ffac-a562-4ac9-9bb5-361b597c67be"/>
          </agents>
        </create_agent_group>
      </request>
      <response>
        <create_agent_group_response status="201" status_text="Created" id="90f1cde5-a477-42f5-9e0a-b7a78f9bcd23"/>
      </response>
    </example>
    <example>
      <summary>Create an agent group by copying another</summary>
      <request>
        <create_agent_group>
          <name>Copied Agent Group</name>
          <copy>6c04e86e-ea40-46a1-80f4-cfce27f821b5</copy>
        </create_agent_group>
      </request>
      <response>
        <create_agent_group_response status="201" status_text="Created" id="abc123de-4f56-789a-bcde-1234567890ab"/>
      </response>
    </example>
  </command>
  @ENDIF_ENABLE_AGENTS@
  <command>
    <name>create_alert</name>
    <summary>Create an alert</summary>
    <description>
      <p>
        The client uses the create_alert command to create a new
        alert.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <e>condition</e>
      <e>event</e>
      <e>method</e>
      <e>filter</e>
      <o><e>active</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the alert</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the alert</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing alert</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>condition</name>
      <summary>
        The condition that must be satisfied for the alert to occur
      </summary>
      <pattern>
        text
        <any><e>data</e></any>
      </pattern>
      <ele>
        <name>data</name>
        <summary>Some data that defines the condition</summary>
        <pattern>
          text
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the condition data</summary>
          <pattern>
            text
          </pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>event</name>
      <summary>
        The event that must happen for the alert to occur
      </summary>
      <pattern>
        text
        <any><e>data</e></any>
      </pattern>
      <ele>
        <name>data</name>
        <summary>Some data that defines the event</summary>
        <pattern>
          text
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the event data</summary>
          <pattern>
            text
          </pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>method</name>
      <summary>The method by which the user is alerted</summary>
      <pattern>
        text
        <any><e>data</e></any>
      </pattern>
      <ele>
        <name>data</name>
        <summary>Some data that defines the method</summary>
        <pattern>
          text
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the method data</summary>
          <pattern>
            text
          </pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>filter</name>
      <summary>Filter to apply when executing alert</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>active</name>
      <summary>Whether the alert is active</summary>
      <pattern>
        <t>boolean</t>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create an email alert</summary>
      <request>
        <create_alert>
          <name>emergency</name>
          <condition>
            Severity at least
            <data>
              <name>severity</name>
              5.5
            </data>
          </condition>
          <event>
            Task run status changed
            <data>
              <name>status</name>
              Done
            </data>
          </event>
          <method>
            Email
            <data>
              <name>to_address</name>
              sally@example.org
            </data>
            <data>
              <name>from_address</name>
              bob@example.org
            </data>
          </method>
        </create_alert>
      </request>
      <response>
        <create_alert_response status="201"
                               status_text="OK, resource created"
                               id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_alert_response>
      </response>
    </example>
    <example>
      <summary>Create an Alemba vFire alert</summary>
      <request>
        <create_alert>
          <name>Alemba test</name>
          <method>Alemba vFire
            <data>
              <name>vfire_base_url</name>
              https://alemba.example.com/vfire
            </data>
            <data>
              <name>vfire_credential</name>
              9431b46f-8491-45d8-81c3-efea92abb47b
            </data>
            <data>
              <name>vfire_client_id</name>
              5a52a4ff-6f5d-430d-b70a-d5329b6cbbd3
            </data>
            <data>
              <name>vfire_call_description</name>
              This an automatically created call for the GVM task %n.
            </data>
            <data>
              <name>vfire_call_partition_name</name>
              IT
            </data>
            <data>
              <name>vfire_call_type_name</name>
              GVM Report
            </data>
            <data>
              <name>vfire_call_template_name</name>
              GVM Scan Report
            </data>
            <data>
              <name>vfire_call_impact_name</name>
              3 - Team (2-10)
            </data>
            <data>
              <name>vfire_call_urgency_name</name>
              3 - Normal
            </data>
            <data>
              <name>report_formats</name>
              a3810a62-1f62-11e1-9219-406186ea4fc5,
              c402cc3e-b531-11e1-9163-406186ea4fc5
            </data>
          </method>
          <condition>always</condition>
          <event>Task run status changed
            <data>
              <name>status</name>
              Done
            </data>
          </event>
        </create_alert>
      </request>
      <response>
        <create_alert_response status="201"
                               status_text="OK, resource created"
                               id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_alert_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_asset</name>
    <summary>Create an asset</summary>
    <description>
      <p>
        The client uses the create_asset command to create a new asset.
      </p>
    </description>
    <pattern>
      <or>
        <e>asset</e>
        <e>report</e>
      </or>
    </pattern>
    <ele>
      <name>asset</name>
      <pattern>
        <e>name</e>
        <o><e>comment</e></o>
        <e>type</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>A name for the asset. Must be an IPv4 or IPv6 address for hosts</summary>
        <pattern>
          <t>name</t>
        </pattern>
      </ele>
      <ele>
        <name>comment</name>
        <summary>A comment on the asset</summary>
        <pattern>
          text
        </pattern>
      </ele>
      <ele>
        <name>type</name>
        <summary>The type of asset to create. Must be 'host'</summary>
        <pattern>
          text
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>report</name>
      <summary>Report from which to import assets</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <e>filter</e>
      </pattern>
      <ele>
        <name>filter</name>
        <summary>Filter, for min_qod and apply_overrides</summary>
        <pattern>
          <e>term</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>
            text
          </pattern>
        </ele>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create an asset</summary>
      <request>
        <create_asset>
          <asset>
            <type>host</type>
            <name>Localhost</name>
          </asset>
        </create_asset>
      </request>
      <response>
        <create_asset_response status="201"
                                status_text="OK, resource created"
                                id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_asset_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_config</name>
    <summary>Create a config</summary>
    <description>
      <p>
        The client uses the create_config command to create a new config.
      </p>
      <l>
        <lh>This command can be called in three ways:</lh>
        <li>
          With a copy element.  The new config is a copy of the existing
          config, with the given name.
        </li>
        <li>
          With an embedded get_configs response element.  The config is
          created as defined by the get_configs response element.  Name is
          actually optional in this case.  The config is given the name of
          the config in the get_configs response.  If there is already a
          config with this name, then a number is attached to the name to
          make it unique.
        </li>
        <li>
          With a scanner element referencing an OSP scanner.
          The config is then created by retrieving the expected preferences
          from the given scanner via OSP.
        </li>
      </l>
    </description>
    <pattern>
      <o><e>comment</e></o>
      <or>
        <e>copy</e>
        <r>get_configs</r>
      </or>
      <e>name</e>
      <o><e>usage_type</e></o>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>A comment on the config</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing config</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>A name for the config</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>usage_type</name>
      <summary>Usage type (scan or policy) for the config. Can overwrite the one in get_configs_response</summary>
      <pattern>
        <alts>
          <alt>scan</alt>
          <alt>policy</alt>
        </alts>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Copy a config</summary>
      <request>
        <create_config>
          <copy>daba56c8-73ec-11df-a475-002264764cea</copy>
          <name>Full</name>
        </create_config>
      </request>
      <response>
        <create_config_response status="201" status_text="OK, resource created"
                                id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_config_response>
      </response>
    </example>
    <example>
      <summary>Create a config from a GET_CONFIGS response</summary>
      <request>
        <create_config>
          <get_configs_response>
            <config id="daba56c8-73ec-11df-a475-002264764cea">
              <name>Full and fast</name>
              <truncated>...</truncated>
            </config>
          </get_configs_response>
        </create_config>
      </request>
      <response>
        <create_config_response status="201" status_text="OK, resource created"
                                id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_config_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_credential</name>
    <summary>Create a credential</summary>
    <description>
      <p>
        The client uses the create_credential command to create a new
        credential for local security checks and other functions
        requiring authentication.
      </p>
      <p>
        If the command includes a key, then the manager creates a key-based
        credential from the key.  If the command includes a password, then
        the manager creates a password only credential.  Otherwise the
        manager autogenerates a key-based credential.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <o><e>allow_insecure</e></o>
      <o><e>certificate</e></o>
      <o><e>kdc</e></o>
      <o><e>kdcs</e></o>
      <o><e>key</e></o>
      <o><e>login</e></o>
      <o><e>password</e></o>
      <o><e>auth_algorithm</e></o>
      <o><e>community</e></o>
      <o><e>privacy</e></o>
      <o><e>realm</e></o>
      <o><e>type</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the credential</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the credential</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing credential</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>allow_insecure</name>
      <summary>Whether to allow insecure use of the credential</summary>
      <pattern>
        <t>boolean</t>
      </pattern>
    </ele>
    <ele>
      <name>certificate</name>
      <summary>The certificate of the credential</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>kdc</name>
      <pattern>text</pattern>
      <summary>Deprecated: This element is deprecated. Use kdcs instead. The Kerberos KDC (key distribution center(s))</summary>
    </ele>
    <ele>
      <name>kdcs</name>
      <summary>Multiple Kerberos KDCs</summary>
      <description>
        <p>List of one or more Kerberos Key Distribution Centers (KDCs).</p>
      </description>
      <pattern>
        <any><e>kdc</e></any>
      </pattern>
      <ele>
        <name>kdc</name>
        <summary>A single Kerberos Key Distribution Center</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>key</name>
      <pattern>
        <o><e>phrase</e></o>
        <or>
          <e>private</e>
          <e>public</e>
        </or>
      </pattern>
      <ele>
        <name>phrase</name>
        <summary>Key passphrase</summary>
        <pattern>
          text
        </pattern>
      </ele>
      <ele>
        <name>private</name>
        <summary>Private key</summary>
        <pattern>
          text
        </pattern>
      </ele>
      <ele>
        <name>public</name>
        <summary>Public key</summary>
        <pattern>
          text
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>login</name>
      <summary>The user name of the credential</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>password</name>
      <summary>The password for the credential login</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>community</name>
      <summary>The SNMP community</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>auth_algorithm</name>
      <summary>Authentication algorithm for SNMP, either md5 or sha1</summary>
      <pattern>
        <alts>
          <alt>md5</alt>
          <alt>sha1</alt>
        </alts>
      </pattern>
    </ele>
    <ele>
      <name>privacy</name>
      <pattern>
        <e>algorithm</e>
        <e>password</e>
      </pattern>
      <ele>
        <name>algorithm</name>
        <summary>The SNMP privacy algorithm, either aes or des</summary>
        <pattern>
          <alts>
            <alt>aes</alt>
            <alt>des</alt>
          </alts>
        </pattern>
      </ele>
      <ele>
        <name>password</name>
        <summary>The SNMP privacy password</summary>
        <pattern>
          text
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>realm</name>
      <pattern>text</pattern>
      <summary>The Kerberos realm</summary>
    </ele>
    <ele>
      <name>type</name>
      <summary>The type of credential to create</summary>
      <description>
        <p>cc: Client certificate</p>
        <p>krb5: Kerberos 5</p>
        <p>pgp: PGP encryption key</p>
        <p>pw: Password only</p>
        <p>smime: S/MIME certificate</p>
        <p>snmp: SNMP</p>
        <p>up: User name + password</p>
        <p>usk: User name + SSH key</p>
      </description>
      <pattern>
        <alts>
          <alt>cc</alt>
          <alt>krb5</alt>
          <alt>pgp</alt>
          <alt>pw</alt>
          <alt>smime</alt>
          <alt>snmp</alt>
          <alt>up</alt>
          <alt>usk</alt>
        </alts>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create an LSC credential</summary>
      <request>
        <create_credential>
          <name>cluster sally</name>
          <login>sally</login>
          <password>secret</password>
          <comment>Sally's login to the cluster.</comment>
        </create_credential>
      </request>
      <response>
        <create_credential_response status="201"
                                    status_text="OK, resource created"
                                    id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_credential_response>
      </response>
    </example>
    <example>
      <summary>Create a PGP public key credential</summary>
      <request>
        <create_credential>
          <name>Email public key</name>
          <type>pgp</type>
          <key>
            <public>-----BEGIN PGP PUBLIC KEY BLOCK-----
              [...]
            </public>
          </key>
        </create_credential>
      </request>
      <response>
        <create_credential_response status="201"
                                    status_text="OK, resource created"
                                    id="e81be3f4-a9a6-45a0-853f-980383a5d9eb">
        </create_credential_response>
      </response>
    </example>
    <example>
      <summary>Create an S/MIME credential</summary>
      <request>
        <create_credential>
          <name>Email certificate</name>
          <type>smime</type>
          <certificate>-----BEGIN PKCS7-----
            [...]
          </certificate>
        </create_credential>
      </request>
      <response>
        <create_credential_response status="201"
                                    status_text="OK, resource created"
                                    id="4aa5bf8a-502d-4023-96b0-352fe202a097">
        </create_credential_response>
      </response>
    </example>
    <example>
      <summary>Create a Kerberos credential with multiple KDCs</summary>
      <request>
        <create_credential>
          <name>Kerberos Cluster Auth</name>
          <type>krb5</type>
          <login>admin</login>
          <password>secret123</password>
          <realm>EXAMPLE.COM</realm>
          <kdc>kdc1.example.com,kdc2.example.com,192.168.1.10</kdc>
          <kdcs>
            <kdc>kdc1.example.com</kdc>
            <kdc>kdc2.example.com</kdc>
            <kdc>192.168.1.10</kdc>
          </kdcs>
        </create_credential>
      </request>
      <response>
        <create_credential_response status="201"
                                    status_text="OK, resource created"
                                    id="b2a4a8c3-9f44-4e7f-bd64-7c69b0ec100e">
        </create_credential_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_filter</name>
    <summary>Create a filter</summary>
    <description>
      <p>
        The client uses the create_filter command to create a new filter.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <o><e>term</e></o>
      <o><e>type</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the filter</summary>
      <pattern>
        <t>name</t>
      </pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the filter</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing filter</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>term</name>
      <summary>Filter term</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>type</name>
      <summary>Resource type</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a filter</summary>
      <request>
        <create_filter>
          <name>Single Targets</name>
          <comment>Targets with only one host</comment>
          <term>ips=1 first=1 rows=-2</term>
          <type>target</type>
        </create_filter>
      </request>
      <response>
        <create_filter_response status="201" status_text="OK, resource created"
                               id="254cd3ef-bbe1-4d58-859d-21b8d0c046c7">
        </create_filter_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_group</name>
    <summary>Create a group</summary>
    <description>
      <p>
        The client uses the create_group command to create a new
        group.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <o><e>specials</e></o>
      <o><e>users</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the group</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the group</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing group</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>specials</name>
      <pattern>
        <e>full</e>
      </pattern>
      <ele>
        <name>full</name>
        <summary>
          Create permission giving members full access to each other's resources
        </summary>
        <pattern></pattern>
      </ele>
    </ele>
    <ele>
      <name>users</name>
      <summary>Comma separated list of user names</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a group</summary>
      <request>
        <create_group>
          <name>Managers</name>
          <users>sarah, bob</users>
        </create_group>
      </request>
      <response>
        <create_group_response status="201"
                               status_text="OK, resource created"
                               id="d94211b6-ba40-11e3-bcb1-406186ea4fc5">
        </create_group_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_note</name>
    <summary>Create a note</summary>
    <description>
      <p>
        The client uses the create_note command to create a new note.
      </p>
    </description>
    <pattern>
      <e>text</e>
      <e>nvt</e>
      <o><e>active</e></o>
      <o><e>copy</e></o>
      <o><e>hosts</e></o>
      <o><e>port</e></o>
      <o><e>result</e></o>
      <o><e>severity</e></o>
      <o><e>task</e></o>
      <o><e>threat</e></o>
    </pattern>
    <ele>
      <name>text</name>
      <summary>The text of the note</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>nvt</name>
      <summary>NVT to which note applies</summary>
      <pattern>
        <attrib>
          <name>oid</name>
          <type>oid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>active</name>
      <summary>Days note will be active. -1 on always, 0 off</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing note</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>A comma-separated list of hosts</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>port</name>
      <summary>Port (location) to which note applies</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>result</name>
      <summary>Result to which note applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>severity</name>
      <summary>Severity to which note applies</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>task</name>
      <summary>Task to which note applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>threat</name>
      <summary>
        Threat level to which note applies. Will be converted to severity
      </summary>
      <pattern>
        <t>threat</t>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a note</summary>
      <request>
        <create_note>
          <text>This issue should be resolved after the upgrade.</text>
          <nvt oid="1.3.6.1.4.1.25623.1.0.10330"></nvt>
          <result>254cd3ef-bbe1-4d58-859d-21b8d0c046c6</result>
        </create_note>
      </request>
      <response>
        <create_note_response status="202"
                              status_text="OK, resource created"
                              id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_note_response>
      </response>
    </example>
  </command>
  @IF_ENABLE_CONTAINER_SCANNNING@
  <command>
    <name>create_oci_image_target</name>
    <summary>Create an OCI image target</summary>
    <description>
      <p>
        The client uses the create_oci_image_target command to create a
        new OCI image target.
      </p>
      <p>
        The OCI image references uses the following format:
        oci://host[:port]/[repository]/[image][:tag]
      </p>
      <p>
        IPv6 addresses for the regitsry should be wrapped in [..]
        if a port number is included.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <e>image_references</e>
      <o><e>exclude_images</e></o>
      <o><e>credential</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the oci image target</summary>
      <pattern>
        <t>name</t>
      </pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the oci image target</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing oci image target</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>image_references</name>
      <summary>A comma-separated list of OCI image urls</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>exclude_images</name>
      <summary>A list of images to exclude</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>credential</name>
      <summary>credentials for the target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a target, giving a list of image references</summary>
      <request>
        <create_oci_image_target>
          <name>All GNU/Linux machines</name>
          <image_references>oci://myregistry.com/repository</image_references>
        </create_oci_image_target>
      </request>
      <response>
        <create_oci_image_target_response status="201"
                                status_text="OK, resource created"
                                id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_oci_image_target_response>
      </response>
    </example>
  </command>
  @ENDIF_ENABLE_CONTAINER_SCANNNING@
  <command>
    <name>create_override</name>
    <summary>Create an override</summary>
    <description>
      <p>
        The client uses the create_override command to create a new override.
      </p>
    </description>
    <pattern>
      <e>text</e>
      <e>nvt</e>
      <o><e>active</e></o>
      <o><e>copy</e></o>
      <o><e>hosts</e></o>
      <o><e>new_severity</e></o>
      <o><e>new_threat</e></o>
      <o><e>port</e></o>
      <o><e>result</e></o>
      <o><e>severity</e></o>
      <o><e>task</e></o>
      <o><e>threat</e></o>
    </pattern>
    <ele>
      <name>text</name>
      <summary>The text of the override</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>active</name>
      <summary>Days override will be active. -1 on always, 0 off</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>nvt</name>
      <summary>NVT to which override applies</summary>
      <pattern>
        <attrib>
          <name>oid</name>
          <type>oid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing override</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>A comma-separated list of hosts</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>new_severity</name>
      <summary>New severity for result</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>new_threat</name>
      <summary>
        New threat level for result, will be converted to a new_severity
      </summary>
      <pattern>
        <t>threat</t>
      </pattern>
    </ele>
    <ele>
      <name>port</name>
      <summary>Port (location) to which override applies</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>result</name>
      <summary>Result to which override applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>severity</name>
      <summary>Severity score to which override applies</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>task</name>
      <summary>Task to which override applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>threat</name>
      <summary>
        Threat level to which override applies, will be converted to severity
      </summary>
      <pattern>
        <t>threat</t>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create an override</summary>
      <request>
        <create_override>
          <text>This is actually of little concern.</text>
          <nvt oid="1.3.6.1.4.1.25623.1.0.10330"></nvt>
          <new_threat>Low</new_threat>
          <result>254cd3ef-bbe1-4d58-859d-21b8d0c046c6</result>
        </create_override>
      </request>
      <response>
        <create_override_response status="201"
                                   status_text="OK, resource created"
                                   id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_override_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_permission</name>
    <summary>Create a permission</summary>
    <description>
      <p>
        The client uses the create_permission command to create a new permission.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <e>subject</e>
      <o><e>resource</e></o>
      <o><e>copy</e></o>
      <o><e>comment</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A permission name, currently the name of a command</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>subject</name>
      <summary>A subject to whom the permission is granted</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>0</required>
        </attrib>
        <e>type</e>
      </pattern>
      <ele>
        <name>type</name>
        <summary>GMP type of the subject: user, group or role</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>resource</name>
      <summary>A resource to which the permission applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>0</required>
        </attrib>
        <e>type</e>
      </pattern>
      <ele>
        <name>type</name>
        <summary>GMP type, for Super permissions: user, group or role</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>copy</name>
      <summary>UUID of an existing permission to copy</summary>
      <pattern><t>uuid</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment on the permission</summary>
      <pattern>text</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Grant a user permission to view a target</summary>
      <request>
        <create_permission>
          <name>get_targets</name>
          <resource id="b493b7a8-7489-11df-a3ec-002264764cea">
          </resource>
          <subject id="66abe5ce-c011-11e3-b96e-406186ea4fc5">
            <type>user</type>
          </subject>
        </create_permission>
      </request>
      <response>
        <create_permission_response status="201"
                                    status_text="OK, resource created"
                                    id="7ee79232-c011-11e3-b560-406186ea4fc5">
        </create_permission_response>
      </response>
    </example>
    <example>
      <summary>Grant a role permission to create users</summary>
      <request>
        <create_permission>
          <name>create_user</name>
          <subject id="9b0cbd98-c011-11e3-a26e-406186ea4fc5">
            <type>role</type>
          </subject>
        </create_permission>
      </request>
      <response>
        <create_permission_response status="201"
                                    status_text="OK, resource created"
                                    id="b98ad69c-c011-11e3-b001-406186ea4fc5">
        </create_permission_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_port_list</name>
    <summary>Create a port list</summary>
    <description>
      <p>
        The client uses the create_port_list command to create a new port
        list.
      </p>
      <p>
        The get_port_lists_response element overrides the port_range
        element.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <e>port_range</e>
      <r>get_port_lists</r>
    </pattern>
    <ele>
      <name>name</name>
      <summary>The name of the port list</summary>
      <pattern>
        <t>name</t>
      </pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the port list</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing port list</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>port_range</name>
      <summary>
        Comma separated list of port ranges (allowing whitespace)
      </summary>
      <pattern>
        <t>port_range</t>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a port list</summary>
      <request>
        <create_port_list>
          <name>All TCP</name>
          <comment>All possible TCP ports</comment>
          <port_range>T:1-65535</port_range>
        </create_port_list>
      </request>
      <response>
        <create_port_list_response
          status="201"
          status_text="OK, resource created"
          id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_port_list_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_port_range</name>
    <summary>Create a port range</summary>
    <description>
      <p>
        The client uses the create_port_range command to create a new port
        range.
      </p>
    </description>
    <pattern>
      <o><e>comment</e></o>
      <e>port_list</e>
      <e>start</e>
      <e>end</e>
      <e>type</e>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>A comment on the port range</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>port_list</name>
      <summary>The port list to which to add the range</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>start</name>
      <summary>The first port in the range</summary>
      <pattern>
        <t>port</t>
      </pattern>
    </ele>
    <ele>
      <name>end</name>
      <summary>The last port in the range</summary>
      <pattern>
        <t>port</t>
      </pattern>
    </ele>
    <ele>
      <name>type</name>
      <summary>The type of the ports: TCP, UDP, ...</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Add a port range to a port list</summary>
      <request>
        <create_port_range>
          <port_list id="354cd3ef-bbe1-4d58-859d-21b8d0c046c4">
          </port_list>
          <start>777</start>
          <end>779</end>
          <type>TCP</type>
        </create_port_range>
      </request>
      <response>
        <create_port_range_response
          status="201"
          status_text="OK, resource created"
          id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_port_range_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_report</name>
    <summary>Create a report</summary>
    <description>
      <p>
        The client uses the create_report command to import a report.
      </p>
    </description>
    <pattern>
      <e>report</e>
      <e>task</e>
      <o><e>in_assets</e></o>
    </pattern>
    <ele>
      <name>report</name>
      <summary>A report wrapper, as in the GET_REPORTS response</summary>
      <type>report</type>
    </ele>
    <ele>
      <name>task</name>
      <summary>
        Existing task for report
      </summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>0</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>in_assets</name>
      <summary>Whether to create or update assets using the report</summary>
      <type>boolean</type>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a report in an existing task</summary>
      <request>
        <create_report>
          <report id="f0fdf522-276d-4893-9274-fb8699dc2270"
                  format_id="d5da9f67-8551-4e51-807b-b6a873d70e34"
                  extension="xml"
                  content_type="text/xml">
            <report id="f0fdf522-276d-4893-9274-fb8699dc2270">
              <gmp>
                <version>@GMP_VERSION@</version>
              </gmp>
              <truncated>...</truncated>
              <results start="1" max="-1">
                <result id="634f7a2e-8ca1-43b7-b6d7-0d4841449508">
                  <truncated>...</truncated>
                </result>
                <truncated>...</truncated>
              </results>
              <scan_end>2010-02-02T19:11:52+00:00</scan_end>
              <errors>
                <count>0</count>
              </errors>
            </report>
          </report>
          <task id="76a4f237-9984-4345-a1f4-71fbcbf0611c"/>
        </create_report>
      </request>
      <response>
        <create_report_response status="201"
                                status_text="OK, resource created"
                                id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_report_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_report_config</name>
    <summary>Create a report config</summary>
    <description>
      <p>
        The client uses the create_report_config command to create a new report
        config.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <e>report_format</e>
      <any><e>param</e></any>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the report config</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the report config</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing report config</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>report_format</name>
      <summary>
        The report format the config applies to. Must be configurable
      </summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>param</name>
      <summary>A parameter to pass to the report format</summary>
      <pattern>
        <e>name</e>
        <e>value</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>Name of the parameter</summary>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>value</name>
        <summary>Value of the parameter</summary>
        <pattern>
          text
          <attrib>
            <name>use_default</name>
            <type>boolean</type>
            <summary>
              Whether to use the default instead of the given value
            </summary>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a report config</summary>
      <request>
        <create_report_config>
          <name>Test config</name>
          <report_format id="9e5e5deb-879e-4ecc-8be6-a71cd0875cdd"/>
          <param>
            <name>Node Distance</name>
            <value>10</value>
          </param>
          <comment>Test comment</comment>
        </create_report_config>
      </request>
      <response>
        <create_report_config_response status="201"
                                      status_text="OK, resource created"
                                      id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_report_config_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_report_format</name>
    <summary>Create a report format</summary>
    <description>
      <p>
        The client uses the create_report_format command to create a new report
        format.
      </p>
      <p>
        Element "name" only applies when "copy" is given.
      </p>
    </description>
    <pattern>
      <o><e>name</e></o>
      <or>
        <e>copy</e>
        <r>get_report_formats</r>
      </or>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the report format</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing report format</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a report format</summary>
      <request>
        <create_report_format>
          <get_report_formats_response>
            <report_format id="a0704abb-2120-489f-959f-251c9f4ffebd">
              <name>CPE</name>
              <extension>csv</extension>
              <content_type>text/csv</content_type>
              <summary>Common Platform Enumeration CSV table.</summary>
              <description>
                CPE stands for Common Platform Enumeration.  It is a
                <truncated>...</truncated>
              </description>
              <trust>
                yes
                <time>Thu Dec  2 13:22:26 2010</time>
              </trust>
              <active>1</active>
            </report_format>
          </get_report_formats_response>
        </create_report_format>
      </request>
      <response>
        <create_report_format_response status="201"
                                      status_text="OK, resource created"
                                      id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_report_format_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_role</name>
    <summary>Create a role</summary>
    <description>
      <p>
        The client uses the create_role command to create a new
        role.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <o><e>users</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the role</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the role</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing role</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>users</name>
      <summary>Comma separated list of user names</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a role</summary>
      <request>
        <create_role>
          <name>SCAP Observer</name>
          <users>sarah, bob</users>
        </create_role>
      </request>
      <response>
        <create_role_response status="201"
                               status_text="OK, resource created"
                               id="b64c81b2-b9de-11e3-a2e9-406186ea4fc5">
        </create_role_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_scanner</name>
    <summary>Create a scanner</summary>
    <description>
      <p>
        The client uses the create_scanner command to create a new scanner.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <e>host</e>
      <e>port</e>
      <e>type</e>
      <e>ca_pub</e>
      <e>credential</e>
      <o><e>relay_host</e></o>
      <o><e>relay_port</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the scanner</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing scanner</summary>
      <pattern><t>uuid</t></pattern>
    </ele>
    <ele>
      <name>host</name>
      <summary>The host of the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>port</name>
      <summary>The port of the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>type</name>
      <summary>The type of the scanner</summary>
      <description>
        <p>Type value of '1' for OSP, '2' for OpenVAS (classic) Scanner.</p>
      </description>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>ca_pub</name>
      <summary>Certificate of CA to verify scanner certificate</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>credential</name>
      <summary>Client certificate credential for the Scanner</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <summary>UUID of the credential</summary>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>relay_host</name>
      <summary>Optional relay host of the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>relay_port</name>
      <summary>Optional relay port of the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a scanner</summary>
      <request>
        <create_scanner>
          <name>Default Scanner</name>
          <host>localhost</host>
          <port>9391</port>
          <type>2</type>
          <ca_pub>...</ca_pub>
          <credential id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/>
        </create_scanner>
      </request>
      <response>
        <create_scanner_response status="201" status_text="OK, resource created"
                                 id="814cd30f-dee1-4d58-851d-21b8d0c048e3">
        </create_scanner_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_schedule</name>
    <summary>Create a schedule</summary>
    <description>
      <p>
        The client uses the create_schedule command to create a new schedule.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <o><e>icalendar</e></o>
      <o><e>timezone</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the schedule</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the schedule</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing schedule</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>icalendar</name>
      <summary>iCalendar text containing the time data. Replaces first_time, duration and period</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>timezone</name>
      <summary>The timezone the schedule will follow</summary>
      <pattern>timezone</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a schedule</summary>
      <request>
        <create_schedule>
          <name>On the third Wednesday of every month</name>
          <timezone>America/New_York</timezone>
          <icalendar>
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//XXX//NONSGML//EN
BEGIN:VEVENT
DTSTART;TZID="America/New_York":20221214T000100
RRULE:FREQ=MONTHLY;BYDAY=3WE;
END:VEVENT
END:VCALENDAR
          </icalendar>
        </create_schedule>
      </request>
      <response>
        <create_schedule_response status="201"
                                  status_text="OK, resource created"
                                  id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_schedule_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_tag</name>
    <summary>Create a tag</summary>
    <description>
      <p>
        The client uses the create_tag command to create a new tag.
        A name and the resource type must be provided. If a resource ID is
        also given, it must refer to an existing resource.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <e>resources</e>
      <o><e>copy</e></o>
      <o><e>value</e></o>
      <o><e>comment</e></o>
      <o><e>active</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A full tag name consisting of namespace and predicate</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>resources</name>
      <summary>Identifies the resources the tag is to be attached to</summary>
      <pattern>
        <attrib>
          <name>filter</name>
          <type>text</type>
          <summary>Filter term to select resources the tag is to be attached to</summary>
          <required>0</required>
        </attrib>
        <any><e>resource</e></any>
        <e>type</e>
      </pattern>
      <ele>
        <name>resource</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>ID of a resource the tag is to be attached to</summary>
            <type>uuid</type>
            <required>0</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>type</name>
        <summary>GMP type of the resources the tag is to be attached to</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>copy</name>
      <summary>UUID of an existing tag to copy</summary>
      <pattern><t>uuid</t></pattern>
    </ele>
    <ele>
      <name>value</name>
      <summary>Value associated with the tag</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment to add to the tag</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>active</name>
      <summary>Whether the tag is active</summary>
      <pattern>boolean</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a tag attached to a target</summary>
      <request>
        <create_tag>
          <name>geo:long</name>
          <resource id="b493b7a8-7489-11df-a3ec-002264764cea">
            <type>target</type>
          </resource>
          <value>52.2788</value>
        </create_tag>
      </request>
      <response>
        <create_tag_response status="201"
                             status_text="OK, resource created"
                             id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_tag_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_target</name>
    <summary>Create a target</summary>
    <description>
      <p>
        The client uses the create_target command to create a new target.
      </p>
      <p>
        If the list of hosts is empty, the command must also include a
        target locator.
      </p>
      <p>
        If the SSH elevate credential is set, the SSH credential must
        also be set. The SSH elevate credential and the SSH credential
        must differ.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <or>
        <e>asset_hosts</e>
        <e>hosts</e>
      </or>
      <o><e>exclude_hosts</e></o>
      <o><e>ssh_credential</e></o>
      <o><e>ssh_elevate_credential</e></o>
      <o>
        <or>
          <e>krb5_credential</e>
          <e>smb_credential</e>
        </or>
      </o>
      <o><e>esxi_credential</e></o>
      <o><e>snmp_credential</e></o>
      <o><e>ssh_lsc_credential</e></o>
      <o><e>smb_lsc_credential</e></o>
      <o><e>esxi_lsc_credential</e></o>
      <o><e>alive_tests</e></o>
      <o><e>allow_simultaneous_ips</e></o>
      <o><e>reverse_lookup_only</e></o>
      <o><e>reverse_lookup_unify</e></o>
      <or>
        <e>port_range</e>
        <e>port_list</e>
      </or>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the target</summary>
      <pattern>
        <t>name</t>
      </pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the target</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing target</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>asset_hosts</name>
      <summary>Hosts from which to create the target</summary>
      <pattern>
        <attrib>
          <name>filter</name>
          <type>text</type>
          <summary>Filter term that defines the list of hosts</summary>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>A comma-separated list of hosts, which may be empty</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>exclude_hosts</name>
      <summary>A list of hosts to exclude</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>ssh_credential</name>
      <summary>SSH login credentials for target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <o><e>port</e></o>
      </pattern>
      <ele>
        <name>port</name>
        <summary>The port the LSCs will use</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>ssh_elevate_credential</name>
      <summary>SSH elevate credentials for target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>krb5_credential</name>
      <summary>Kerberos 5 login credentials for target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>smb_credential</name>
      <summary>SMB login credentials for target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>esxi_credential</name>
      <summary>ESXi credential to use on target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>snmp_credential</name>
      <summary>SNMP credentials to use on target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>ssh_lsc_credential</name>
      <summary>Deprecated: use ssh_credential. SSH credential</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <o><e>port</e></o>
      </pattern>
      <ele>
        <name>port</name>
        <summary>The port the LSCs will use</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>smb_lsc_credential</name>
      <summary>Deprecated: use ssh_credential. SMB credential</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>esxi_lsc_credential</name>
      <summary>Deprecated: use esxi_credential. ESXi credential</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>alive_tests</name>
      <summary>Which alive tests to use</summary>
      <pattern>
        <any><e>alive_test</e></any>
      </pattern>
      <description>
        Instead of the sub-elements a string representation of the
        old predefined alive test selections can be used, but this is
        deprecated.
      </description>
      <ele>
        <name>alive_test</name>
        <summary>
          A single alive test to use.
          "Scan Config Default" and "Consider Alive" can only be used alone
        </summary>
        <pattern>
          <t>alive_test</t>
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>allow_simultaneous_ips</name>
      <summary>
        Whether to scan multiple IPs of the same host simultaneously
      </summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>reverse_lookup_only</name>
      <summary>Whether to scan only hosts that have names</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>reverse_lookup_unify</name>
      <summary>
        Whether to scan only one IP when multiple IPs have the same name
      </summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>port_range</name>
      <summary>
        Comma separated list of port ranges for the target
        (allowing whitespace)
      </summary>
      <pattern>
        <t>port_range</t>
      </pattern>
    </ele>
    <ele>
      <name>port_list</name>
      <summary>Port list for the target</summary>
      <description>Overrides port_range.</description>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a target, giving a host list</summary>
      <request>
        <create_target>
          <name>All GNU/Linux machines</name>
          <hosts>192.168.1.0/24</hosts>
        </create_target>
      </request>
      <response>
        <create_target_response status="201"
                                status_text="OK, resource created"
                                id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_target_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_task</name>
    <summary>Create a task</summary>
    <description>
      <p>
        The client uses the create_task command to create a new task.
      </p>
      <p>
        When given a target with an id of 0, the command creates an
        "import" task.  This kind of task can not be run, but it
        is possible to import reports into the task.  Importing is
        done using the create_report command.  The report being
        imported must be in the XML format.
      </p>
      <p>
        When creating an import task, the elements config, hosts_ordering,
        scanner, alert, schedule, schedule_periods, observers and preferences
        are ignored.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <o><e>alterable</e></o>
      <o><e>usage_type</e></o>
      <e>config</e>
      @IF_ENABLE_AGENTS@
      <e>agent_group</e>
      @ENDIF_ENABLE_AGENTS@
      @IF_ENABLE_CONTAINER_SCANNNING@
      <e>oci_image_target</e>
      @ENDIF_ENABLE_CONTAINER_SCANNNING@
      <e>target</e>
      <o><e>hosts_ordering</e></o>
      <e>scanner</e>
      <any><e>alert</e></any>
      <o><e>schedule</e></o>
      <o><e>schedule_periods</e></o>
      <o><e>observers</e></o>
      <o><e>preferences</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the task</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the task</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing task</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>alterable</name>
      <summary>Whether the task is alterable</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>usage_type</name>
      <summary>Usage type for the task (scan or audit), defaulting to scan</summary>
      <pattern>
        <alts>
          <alt>scan</alt>
          <alt>audit</alt>
        </alts>
      </pattern>
    </ele>
    <ele>
      <name>config</name>
      <summary>The scan configuration used by the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>target</name>
      <summary>The hosts scanned by the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    @IF_ENABLE_AGENTS@
    <ele>
      <name>agent_group</name>
      <summary>The agents scanned by the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    @ENDIF_ENABLE_AGENTS@
    @IF_ENABLE_CONTAINER_SCANNNING@
    <ele>
      <name>oci_image_target</name>
      <summary>The OCI images scanned by the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    @ENDIF_ENABLE_CONTAINER_SCANNNING@
    <ele>
      <name>hosts_ordering</name>
      <summary>The order hosts are scanned in</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>scanner</name>
      <summary>The scanner to use for scanning the target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>alert</name>
      <summary>An alert that applies to the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>schedule</name>
      <summary>When the task will run</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>schedule_periods</name>
      <summary>
        A limit to the number of times the task will be scheduled, or 0 for no limit
      </summary>
      <pattern>
        <t>integer</t>
      </pattern>
    </ele>
    <ele>
      <name>observers</name>
      <summary>Users and/or groups allowed to observe this task</summary>
      <description>
        The optional text of element observers is a space separated list of users.
      </description>
      <pattern>
        <t>user_list</t>
        <any><e>group</e></any>
      </pattern>
      <ele>
        <name>group</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>preferences</name>
      <pattern>
        <any><e>preference</e></any>
      </pattern>
      <ele>
        <name>preference</name>
        <pattern>
          <e>scanner_name</e>
          <e>value</e>
        </pattern>
        <ele>
          <name>scanner_name</name>
          <summary>Compact name of preference, from scanner</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <pattern>text</pattern>
        </ele>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a task, giving a host list</summary>
      <request>
        <create_task>
          <name>Scan Webserver</name>
          <comment>Hourly scan of the webserver</comment>
          <config id="daba56c8-73ec-11df-a475-002264764cea"/>
          <target id="b493b7a8-7489-11df-a3ec-002264764cea"/>
          <scanner id="15348381-3180-213f-4eec-123591912388"/>
        </create_task>
      </request>
      <response>
        <create_task_response status="201"
                              status_text="OK, resource created"
                              id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_task_response>
      </response>
    </example>
    <example>
      <summary>Create an import task, for importing reports</summary>
      <request>
        <create_task>
          <name>Import Example</name>
          <comment>This task provides for importing reports</comment>
          <target id="0"/>
        </create_task>
      </request>
      <response>
        <create_task_response status="201"
                              status_text="OK, resource created"
                              id="b7f0afbe-bdb3-11e9-9847-28d24461215b">
        </create_task_response>
      </response>
    </example>
    @IF_ENABLE_AGENTS@
    <example>
      <summary>Create an agent group task, for agent controller</summary>
      <request>
        <create_task>
          <name>Agent Group Task</name>
          <comment>Task with agent group assigned</comment>
          <usage_type>scan</usage_type>
          <agent_group id="fd9bd047-fac8-49e7-bd45-64652f713a41"/>
        </create_task>
      </request>
      <response>
        <create_task_response status="201"
                              status_text="OK, resource created"
                              id="b7f0afbe-bdb3-11e9-9847-28d24461215b">
        </create_task_response>
      </response>
    </example>
    @ENDIF_ENABLE_AGENTS@
    @IF_ENABLE_CONTAINER_SCANNNING@
    <example>
      <summary>Create an OCI image task</summary>
      <request>
        <create_task>
          <name>OCI Image Task</name>
          <comment>Task with OCI image target assigned</comment>
          <usage_type>scan</usage_type>
          <oci_image_target id="fd9bd047-fac8-49e7-bd45-64652f713a41"/>
          <scanner id="8154d8e3-30ee-4959-9151-1863c89a8e62"/>
        </create_task>
      </request>
      <response>
        <create_task_response status="201"
                              status_text="OK, resource created"
                              id="b7f0afbe-bdb3-11e9-9847-28d24461215b">
        </create_task_response>
      </response>
    </example>
    @ENDIF_ENABLE_CONTAINER_SCANNNING@
  </command>
  <command>
    <name>create_ticket</name>
    <summary>Create a ticket</summary>
    <description>
      <p>
        The client uses the create_ticket command to create a new ticket.
      </p>
    </description>
    <pattern>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <e>result</e>
      <e>assigned_to</e>
      <e>open_note</e>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>A comment on the ticket</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing ticket</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>result</name>
      <summary>The result the ticket applies to</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>assigned_to</name>
      <pattern>
        <e>user</e>
      </pattern>
      <ele>
        <name>user</name>
        <summary>The user the ticket is assigned to</summary>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>open_note</name>
      <summary>A note about opening the ticket</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a ticket</summary>
      <request>
        <create_ticket>
          <result id="138c1216-4acb-4ded-bef3-7fab80eac8c7"/>
          <assigned_to>
            <user id="33e92d3e-a379-4c46-a4cf-88c8201ab710"/>
          </assigned_to>
          <open_note>Please fix today.</open_note>
        </create_ticket>
      </request>
      <response>
        <create_ticket_response status="201"
                                status_text="OK, resource created"
                                id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
        </create_ticket_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_tls_certificate</name>
    <summary>Create a TLS certificate</summary>
    <description>
      <p>
        The client uses the create_tls_certificate command to create a new
        TLS certificate.
      </p>
      <p>
        TLS certificates owned by the current user must have unique
        fingerprints, so copying will only work with fingerprints owned
        by another user.
      </p>
    </description>
    <pattern>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <o><e>name</e></o>
      <o><e>trust</e></o>
      <e>certificate</e>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>A comment on the TLS certificate</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing TLS certificate</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>
        The name of the certificate, defaulting to the MD5 fingerprint
      </summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>trust</name>
      <summary>Whether the certificate is trusted</summary>
      <pattern>
        <t>boolean</t>
      </pattern>
    </ele>
    <ele>
      <name>certificate</name>
      <summary>The Base64 encoded certificate data (x.509 DER or PEM)</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a TLS certificate</summary>
      <request>
        <create_tls_certificate>
          <name>Example Certificate</name>
          <certificate>MIIDNjCCAp+gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELM[...]</certificate>
        </create_tls_certificate>
      </request>
      <response>
        <create_tls_certificate_response status="201"
            status_text="OK, resource created"
            id="8a925978-59d0-494b-a837-40b271569727">
        </create_tls_certificate_response>
      </response>
    </example>
  </command>
  <command>
    <name>create_user</name>
    <summary>Create a user</summary>
    <description>
      <p>
        The client uses the create_user command to create a new user.
      </p>
    </description>
    <pattern>
      <e>name</e>
      <o><e>copy</e></o>
      <o><e>comment</e></o>
      <o><e>hosts</e></o>
      <o><e>password</e></o>
      <any><e>role</e></any>
      <o><e>groups</e></o>
      <o><e>sources</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>The name of the user to be created</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing user</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment for the user</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>User access rules: a comma-separated list of hosts</summary>
      <pattern>
        <attrib>
          <name>allow</name>
          <summary>If 1, allow only listed, otherwise forbid listed</summary>
          <type>boolean</type>
        </attrib>
        text
      </pattern>
    </ele>
    <ele>
      <name>password</name>
      <summary>The password for the user</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>role</name>
      <summary>A role of the user</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>groups</name>
      <summary>Groups the user will be added to</summary>
      <pattern>
        <any><e>group</e></any>
      </pattern>
      <ele>
        <name>group</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>sources</name>
      <summary>Authentication source for this user (if omitted then 'file')</summary>
      <description>
        <p>
          'file' means to store the user in the database.
        </p>
        <p>
          The element is called SOURCES for historic reasons. Only one SOURCE is allowed.
        </p>
      </description>
      <pattern>
        <o><e>source</e></o>
      </pattern>
      <ele>
        <name>source</name>
        <summary>Authentication source</summary>
        <pattern>
          <alts>
            <alt>file</alt>
            <alt>ldap_connect</alt>
            <alt>radius_connect</alt>
          </alts>
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Create a user</summary>
      <request>
        <create_user>
          <name>foobar</name>
          <password>f00bar</password>
          <role id="8d453140-b74d-11e2-b0be-406186ea4fc5"></role>
        </create_user>
      </request>
      <response>
        <create_user_response status="201" status_text="OK, resource created"/>
      </response>
    </example>
  </command>
  @IF_ENABLE_AGENTS@
  <command>
    <name>delete_agent_group</name>
    <summary>Delete an agent group</summary>
    <description>
      <p>
        The client uses the delete_agent_group command to delete an
        existing agent group.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
      <p>
        If ultimate is set to 1, the agent group is permanently deleted.
        If set to 0, the group is moved to the trashcan and can be restored later.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>agent_group_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or move to trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete an agent group</summary>
      <request>
        <delete_agent_group agent_group_id="6fca29e3-8b96-4e6b-9ee1-8845680dbda5" ultimate="1"/>
      </request>
      <response>
        <delete_agent_group_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_agent</name>
    <summary>Delete agents</summary>
    <description>
      <p>
        The client uses the delete_agent command to delete one or more
        existing agents.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
      <p>
        The scanner is determined implicitly from the agent UUIDs. It is assumed that
        all agents belong to the same scanner. If this is not the case, the command
        will fail.
      </p>
    </description>
    <pattern>
      <e>agents</e>
    </pattern>
    <ele>
      <name>agents</name>
      <summary>List of agents to delete</summary>
      <pattern>
        <any><e>agent</e></any>
      </pattern>
      <ele>
        <name>agent</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete agents</summary>
      <request>
        <delete_agent>
          <agents>
            <agent id="c6f1cdc3-8c2c-4b2e-9f43-139d23c7cfd4" />
          </agents>
        </delete_agent>
      </request>
      <response>
        <delete_agent_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  @ENDIF_ENABLE_AGENTS@
  <command>
    <name>delete_alert</name>
    <summary>Delete an alert</summary>
    <description>
      <p>
        The client uses the delete_alert command to delete an existing
        alert.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>alert_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete an alert</summary>
      <request>
        <delete_alert alert_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_alert>
      </request>
      <response>
        <delete_alert_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_asset</name>
    <summary>Delete an asset</summary>
    <description>
      <p>
        The client uses the delete_asset command to delete an existing asset.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <or>
        <attrib>
          <name>asset_id</name>
          <summary>Single asset to delete</summary>
          <description>
            <p>
              Overrides report_id.
            </p>
          </description>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>report_id</name>
          <summary>Report from which to get all assets to delete</summary>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </or>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete an asset</summary>
      <request>
        <delete_asset asset_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_asset>
      </request>
      <response>
        <delete_asset_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_config</name>
    <summary>Delete a config</summary>
    <description>
      <p>
        The client uses the delete_config command to delete an existing config.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>config_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a config</summary>
      <request>
        <delete_config config_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_config>
      </request>
      <response>
        <delete_config_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_credential</name>
    <summary>Delete a credential</summary>
    <description>
      <p>
        The client uses the delete_credential command to delete an
        existing credential.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>credential_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a credential</summary>
      <request>
        <delete_credential credential_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_credential>
      </request>
      <response>
        <delete_credential_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_filter</name>
    <summary>Delete a filter</summary>
    <description>
      <p>
        The client uses the delete_filter command to delete an existing filter.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>filter_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a filter</summary>
      <request>
        <delete_filter filter_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_filter>
      </request>
      <response>
        <delete_filter_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_group</name>
    <summary>Delete a group</summary>
    <description>
      <p>
        The client uses the delete_group command to delete an existing
        group.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>group_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a group</summary>
      <request>
        <delete_group group_id="d94211b6-ba40-11e3-bcb1-406186ea4fc5">
        </delete_group>
      </request>
      <response>
        <delete_group_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_note</name>
    <summary>Delete a note</summary>
    <description>
      <p>
        The client uses the delete_note command to delete an existing note.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>note_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a note</summary>
      <request>
        <delete_note note_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_note>
      </request>
      <response>
        <delete_note_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  @IF_ENABLE_CONTAINER_SCANNNING@
  <command>
    <name>delete_oci_image_target</name>
    <summary>Delete an OCI image target</summary>
    <description>
      <p>
        The client uses the delete_oci_image_target command to delete an
        existing OCI image target.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>oci_image_target_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete an OCI image target</summary>
      <request>
        <delete_oci_image_target oci_image_target_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_oci_image_target>
      </request>
      <response>
        <delete_oci_image_target_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  @ENDIF_ENABLE_CONTAINER_SCANNNING@
  <command>
    <name>delete_override</name>
    <summary>Delete an override</summary>
    <description>
      <p>
        The client uses the delete_override command to delete an existing override.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>override_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete an override</summary>
      <request>
        <delete_override override_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_override>
      </request>
      <response>
        <delete_override_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_permission</name>
    <summary>Delete a permission</summary>
    <description>
      <p>
        The client uses the delete_permission command to delete an existing permission.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>permission_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a permission</summary>
      <request>
        <delete_permission permission_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_permission>
      </request>
      <response>
        <delete_permission_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_port_list</name>
    <summary>Delete a port list</summary>
    <description>
      <p>
        The client uses the delete_port_list command to delete an existing
        port list.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>port_list_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a port list</summary>
      <request>
        <delete_port_list port_list_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_port_list>
      </request>
      <response>
        <delete_port_list_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_port_range</name>
    <summary>Delete a port range</summary>
    <description>
      <p>
        The client uses the delete_port_range command to delete an existing
        port range.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>port_range_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a port range</summary>
      <request>
        <delete_port_range port_range_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_port_range>
      </request>
      <response>
        <delete_port_range_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_report</name>
    <summary>Delete a report</summary>
    <description>
      <p>
        The client uses the delete_report command to delete an existing report.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>report_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a report</summary>
      <request>
        <delete_report report_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_report>
      </request>
      <response>
        <delete_report_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_report_config</name>
    <summary>Delete a report config</summary>
    <description>
      <p>
        The client uses the delete_report_config command to delete an existing
        report config.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>report_config_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a report config</summary>
      <request>
        <delete_report_config report_config_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_report_config>
      </request>
      <response>
        <delete_report_config_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_report_format</name>
    <summary>Delete a report format</summary>
    <description>
      <p>
        The client uses the delete_report_format command to delete an existing
        report format.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>report_format_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a report format</summary>
      <request>
        <delete_report_format report_format_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_report_format>
      </request>
      <response>
        <delete_report_format_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_role</name>
    <summary>Delete a role</summary>
    <description>
      <p>
        The client uses the delete_role command to delete an existing
        role.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>role_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a role</summary>
      <request>
        <delete_role role_id="b64c81b2-b9de-11e3-a2e9-406186ea4fc5">
        </delete_role>
      </request>
      <response>
        <delete_role_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_scanner</name>
    <summary>Delete a scanner</summary>
    <description>
      <p>
        The client uses the delete_scanner command to delete an existing scanner.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>scanner_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a scanner</summary>
      <request>
        <delete_scanner scanner_id="817a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_scanner>
      </request>
      <response>
        <delete_scanner_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_schedule</name>
    <summary>Delete a schedule</summary>
    <description>
      <p>
        The client uses the delete_schedule command to delete an existing schedule.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>schedule_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a schedule</summary>
      <request>
        <delete_schedule schedule_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_schedule>
      </request>
      <response>
        <delete_schedule_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_tag</name>
    <summary>Delete a tag</summary>
    <description>
      <p>
        The client uses the delete_tag command to delete an existing tag.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>tag_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a tag</summary>
      <request>
        <delete_tag target_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_tag>
      </request>
      <response>
        <delete_tag_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_target</name>
    <summary>Delete a target</summary>
    <description>
      <p>
        The client uses the delete_target command to delete an existing target.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>target_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a target</summary>
      <request>
        <delete_target target_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_target>
      </request>
      <response>
        <delete_target_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_task</name>
    <summary>Delete a task</summary>
    <description>
      <p>
        The client uses the delete_task command to delete an existing task,
        including all reports associated with the task.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>task_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a task</summary>
      <request>
        <delete_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_task>
      </request>
      <response>
        <delete_task_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_ticket</name>
    <summary>Delete a ticket</summary>
    <description>
      <p>
        The client uses the delete_ticket command to delete an existing ticket.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>ticket_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>ultimate</name>
        <summary>Whether to remove entirely, or to the trashcan</summary>
        <type>boolean</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a ticket</summary>
      <request>
        <delete_ticket ticket_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </delete_ticket>
      </request>
      <response>
        <delete_ticket_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>delete_user</name>
    <summary>Delete a user</summary>
    <description>
      <p>
        The client uses the delete_user command to delete an existing user.
      </p>
      <p>
        Since this is a destructive command, the client is advised to ask
        for confirmation from the user before sending this command to the
        Manager.
      </p>
    </description>
    <pattern>
      <or>
        <attrib>
          <name>user_id</name>
          <summary>The ID of the user to be deleted.  Overrides name</summary>
          <type>uuid</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>name</name>
          <summary>The name of the user to be deleted</summary>
          <type>text</type>
          <required>1</required>
        </attrib>
      </or>
      <o>
        <or>
          <attrib>
            <name>inheritor_id</name>
            <summary>The ID of the inheriting user or "self".  Overrides inheritor_name</summary>
            <type>text</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>inheritor_name</name>
            <summary>The name of the inheriting user</summary>
            <type>text</type>
            <required>1</required>
          </attrib>
        </or>
      </o>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Delete a user</summary>
      <request>
        <delete_user name="foobar">
        </delete_user>
      </request>
      <response>
        <delete_user_response status="200" status_text="OK">
        </delete_user_response>
      </response>
    </example>
  </command>
  <command>
    <name>describe_auth</name>
    <summary>Describe authentication methods</summary>
    <description>
      <p>
        The client uses the "describe_auth" command to get details about the
        used authentication methods.
      </p>
      <p>
        The Manager will reply with a list of all used authentication
        methods if such a list is available.
      </p>
    </description>
    <pattern>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>group</e>
      </pattern>
      <ele>
        <name>group</name>
        <summary>Config group</summary>
        <pattern>
          <attrib>
            <name>name</name>
            <type>text</type>
            <required>1</required>
          </attrib>
          <any><e>auth_conf_setting</e></any>
        </pattern>
        <ele>
          <name>auth_conf_setting</name>
          <pattern>
            <e>key</e>
            <e>value</e>
            <o><e>certificate_info</e></o>
          </pattern>
          <ele>
            <name>key</name>
            <summary>Setting name</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>value</name>
            <summary>Setting value</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>certificate_info</name>
            <summary>Info about the certificate</summary>
            <type>certificate_info</type>
          </ele>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Describe the authentication methods</summary>
      <request>
        <describe_auth>
        </describe_auth>
      </request>
      <response>
        <describe_auth_response status="200" status_text="OK">
          <group name="method:file">
            <auth_conf_setting>
              <key>enable</key>
              <value>true</value>
            </auth_conf_setting>
            <auth_conf_setting>
              <key>order</key>
              <value>1</value>
            </auth_conf_setting>
          </group>
        </describe_auth_response>
      </response>
    </example>
  </command>
  <command>
    <name>empty_trashcan</name>
    <summary>Empty the trashcan</summary>
    <description>
      <p>
        The client uses the empty_trashcan command to empty the trashcan.
      </p>
    </description>
    <pattern>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Empty the trashcan</summary>
      <request>
        <empty_trashcan>
        </empty_trashcan>
      </request>
      <response>
        <empty_trashcan_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  @IF_ENABLE_AGENTS@
  <command>
    <name>get_agent_groups</name>
    <summary>Get agent groups</summary>
    <description>
      <p>
        The client uses the get_agent_groups command to retrieve a list of agent groups.
      </p>
    </description>
    <pattern>
      <o><e>agent_group_id</e></o>
      <o><e>filter</e></o>
      <o><e>filt_id</e></o>
    </pattern>
    <ele>
      <name>agent_group_id</name>
      <summary>UUID of a specific agent group</summary>
      <pattern><type>uuid</type></pattern>
      <required>0</required>
    </ele>
    <ele>
      <name>filter</name>
      <summary>Filter term</summary>
      <pattern><type>text</type></pattern>
      <required>0</required>
    </ele>
    <ele>
      <name>filt_id</name>
      <summary>Filter UUID</summary>
      <pattern><type>uuid</type></pattern>
      <required>0</required>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>agent_group</e></any>
        <o><e>filters</e></o>
        <o><e>sort</e></o>
        <o><e>agent_groups</e></o>
        <o><e>agent_group_count</e></o>
      </pattern>
      <ele>
        <name>agent_group</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <e>scanner</e>
          <e>agents</e>
        </pattern>
        <ele>
          <name>agents</name>
          <summary>Agents assigned to the group</summary>
          <pattern>
            <any><e>agent</e></any>
          </pattern>
          <ele>
            <name>agent</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the agent</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <e>keywords</e>
        </pattern>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          <e>field</e>
        </pattern>
      </ele>
      <ele>
        <name>agent_groups</name>
        <pattern>
          <attrib>
            <name>start</name>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>agent_group_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
      </ele>
    </response>
    <example>
      <summary>Get all agent groups</summary>
      <request>
        <get_agent_groups/>
      </request>
      <response>
        <get_agent_groups_response status="200" status_text="OK">
          <agent_group id="cadc0390-f392-4cc5-9fbf-62af5e78a930">
            <owner>
              <name>username</name>
            </owner>
            <name>Test Agent Group</name>
            <comment>Created via gvm-cli for testing</comment>
            <creation_time>2025-07-15T14:15:31Z</creation_time>
            <modification_time>2025-07-15T14:15:31Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <scanner id="3b4be213-281f-49ee-b457-5a5f34f71510">
              <name>Agent Controller</name>
            </scanner>
            <agents>
              <agent id="6b9ac61f-aaaa-bbbb-cccc-ddeeff001122">
                <name>GAT-29</name>
              </agent>
              <agent id="6b9ac61f-bbbb-cccc-dddd-eeff00112233">
                <name>GAT-29-p0MPX0FT</name>
              </agent>
            </agents>
          </agent_group>
        </get_agent_groups_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_agent_installers</name>
    <summary>Get one or many agent installers</summary>
    <description>
      <p>
        The client uses the get_agent_installers command to get agent installer
        information.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>agent_installer_id</name>
        <summary>ID of single agent installer to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>description</name>
            <type>text</type>
            <summary>Description of the agent installer</summary>
          </column>
          <column>
            <name>content_type</name>
            <type>text</type>
            <summary>MIME content type of the agent installer</summary>
          </column>
          <column>
            <name>file_extension</name>
            <type>text</type>
            <summary>File extension of the agent installer</summary>
          </column>
          <column>
            <name>version</name>
            <type>text</type>
            <summary>Version of the agent installer</summary>
          </column>
          <column>
            <name>last_update</name>
            <type>iso_time</type>
            <summary>Time the agent installer was last updated</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include full agent installer details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan agent installers instead</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>agent_installer</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>agent_installers</e>
        <e>agent_installer_count</e>
      </pattern>
      <ele>
        <name>agent_installer</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>description</e>
          <e>content_type</e>
          <e>file_extension</e>
          <e>version</e>
          <e>checksum</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the agent installer</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the agent installer</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the agent installer</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the agent installer is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any targets are using the agent installer</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the agent installer
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the agent installer</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>description</name>
          <summary>Description of the agent installer</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>content_type</name>
          <summary>MIME content type of the agent installer</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>file_extension</name>
          <summary>File extension of the agent installer</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>version</name>
          <summary>Version of the agent installer</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>checksum</name>
          <summary>Checksum string of the agent installer</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>file_size</name>
          <summary>File size of the agent installer</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>agent_installers</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First agent installer</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of agent installers</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>agent_installer_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of agent installers after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of agent installers on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Export metadata of an agent installer</summary>
      <request>
        <get_agent_installers
          agent_installer_id="b993b6f5-f9fb-4e6e-9c94-dd46c00e058d"
          details="1">
        </get_agent_installers>
      </request>
      <response>
        <get_agent_installers_response status="200" status_text="OK">
          <agent_installer id="b993b6f5-f9fb-4e6e-9c94-dd46c00e058d">
            <owner>
              <name>admin</name>
            </owner>
            <name>Windows 11</name>
            <comment/>
            <creation_time>2025-04-11T13:30:00Z</creation_time>
            <modification_time>2025-04-11T13:32:00Z</modification_time>
            <writable>0</writable>
            <in_use>0</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <description>Greenbone Agent for Windows 11</description>
            <content_type>application/zip</content_type>
            <file_extension>zip</file_extension>
            <version>1.3.0</version>
            <checksum>sha256:3bbd04dd65dbb8b3f272bd8013d0d4b12fe54be30bb81f3e5df66306fe0fa0d3</checksum>
          </agent_installer>
        </get_agent_installers_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_agent_installer_file</name>
    <summary>Get the file of an agent installer</summary>
    <description>
      <p>
        The client uses the get_agent_installer_file to get the
        file of an agent installer.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>agent_installer_id</name>
        <summary>UUID of the agent installer to get the file of</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>file</e>
      </pattern>
      <ele>
        <name>file</name>
        <pattern>
          <attrib>
            <name>agent_installer_id</name>
            <type>uuid</type>
            <required>1</required>
            <summary>UUID of the agent installer</summary>
          </attrib>
          <e>name</e>
          <e>content_type</e>
          <e>file_extension</e>
          <e>checksum</e>
          <e>content</e>
        </pattern>
        <ele>
          <name>name</name>
          <type>text</type>
          <summary>Name of the agent installer</summary>
        </ele>
        <ele>
          <name>content_type</name>
          <type>text</type>
          <summary>MIME content type of the agent installer</summary>
        </ele>
        <ele>
          <name>file_extension</name>
          <type>text</type>
          <summary>File extension of the agent installer</summary>
        </ele>
        <ele>
          <name>checksum</name>
          <type>text</type>
          <summary>Checksum the agent installer</summary>
        </ele>
        <ele>
          <name>content</name>
          <type>text</type>
          <summary>The base-64 encoded file content</summary>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Export an agent installer file</summary>
      <request>
        <get_agent_installer_file agent_installer_id="xy"/>
      </request>
      <response>
        <get_agent_installer_file_response>
        </get_agent_installer_file_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_agents</name>
    <summary>Get agents</summary>
    <description>
      <p>
        The client uses the get_agents command to retrieve a list of registered agents.
      </p>
      <p>
        The response includes detailed information about each agent, including metadata,
        status, config, scanner association, and IP addresses.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>agent_id</name>
        <summary>ID of a specific agent</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>Index of the first item returned, starting at 1 (e.g. first=5 starts at the 5th item)</summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Agent unique identifier</summary>
          </column>
          <column>
            <name>agent_id</name>
            <type>text</type>
            <summary>Agent ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name of the agent</summary>
          </column>
          <column>
            <name>hostname</name>
            <type>text</type>
            <summary>Hostname of the agent machine</summary>
          </column>
          <column>
            <name>scanner</name>
            <type>text</type>
            <summary>UUID of the scanner the agent belongs to</summary>
          </column>
          <column>
            <name>authorized</name>
            <type>integer</type>
            <summary>Whether the agent is authorized (1) or not (0)</summary>
          </column>
          <column>
            <name>connection_status</name>
            <type>text</type>
            <summary>Status of agent connection</summary>
          </column>
          <column>
            <name>last_update</name>
            <type>iso_time</type>
            <summary>Last time the agent was updated</summary>
          </column>
          <column>
            <name>last_updater_heartbeat</name>
            <type>iso_time</type>
            <summary>Last heartbeat timestamp received from updater</summary>
          </column>
          <column>
            <name>updater_version</name>
            <type>text</type>
            <summary>Updater version string</summary>
          </column>
          <column>
            <name>agent_version</name>
            <type>text</type>
            <summary>Agent version string</summary>
          </column>
          <column>
            <name>operating_system</name>
            <type>text</type>
            <summary>Operating system</summary>
          </column>
          <column>
            <name>architecture</name>
            <type>text</type>
            <summary>CPU architecture (e.g., amd64)</summary>
          </column>
          <column>
            <name>update_to_latest</name>
            <type>integer</type>
            <summary>Update-to-latest flag (1/0)</summary>
          </column>
          <column>
            <name>agent_update_available</name>
            <type>integer</type>
            <summary>Agent update available flag (1/0)</summary>
          </column>
          <column>
            <name>updater_update_available</name>
            <type>integer</type>
            <summary>Agent updater update available flag (1/0)</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Agent comment field</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>id</name>
            <type>uuid</type>
            <summary>ID alias for agent UUID</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>Filter UUID</summary>
        <type>uuid</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>agent</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>agents</e>
        <e>agent_count</e>
      </pattern>
      <ele>
        <name>agent</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <e>hostname</e>
          <e>agent_id</e>
          <e>authorized</e>
          <e>connection_status</e>
          <e>last_update</e>
          <e>last_updater_heartbeat</e>
          <e>schedule</e>
          <e>scanner</e>
          <any><e>ip</e></any>
          <e>updater_version</e>
          <e>agent_version</e>
          <e>operating_system</e>
          <e>architecture</e>
          <e>update_to_latest</e>
          <e>agent_update_available</e>
          <e>updater_update_available</e>
          <e>config</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the agent</summary>
          <pattern><e>name</e></pattern>
          <ele>
            <name>name</name>
            <summary>Name of the owner</summary>
            <pattern><type>name</type></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>Name of the agent</summary>
          <pattern><type>name</type></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>Comment on the agent</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Creation timestamp</summary>
          <pattern><type>iso_time</type></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Modification timestamp</summary>
          <pattern><type>iso_time</type></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether agent is writable</summary>
          <pattern><type>boolean</type></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether agent is currently in use</summary>
          <pattern><type>boolean</type></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions current user has on the agent</summary>
          <pattern><any><e>permission</e></any></pattern>
          <ele>
            <name>permission</name>
            <pattern><e>name</e></pattern>
            <ele>
              <name>name</name>
              <summary>Permission name</summary>
              <pattern><type>name</type></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>hostname</name>
          <summary>Hostname of the agent</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>agent_id</name>
          <summary>Agent identifier string</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>authorized</name>
          <summary>Authorization flag</summary>
          <pattern><type>integer</type></pattern>
        </ele>
        <ele>
          <name>connection_status</name>
          <summary>Connection status of the agent</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>last_update</name>
          <summary>Timestamp of last update</summary>
          <pattern><type>iso_time</type></pattern>
        </ele>
        <ele>
          <name>last_updater_heartbeat</name>
          <summary>Timestamp of last heartbeat received from updater</summary>
          <pattern><type>iso_time</type></pattern>
        </ele>
        <ele>
          <name>schedule</name>
          <summary>Agent schedule</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>scanner</name>
          <summary>Associated scanner</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
            </attrib>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>Name of the scanner</summary>
            <pattern><type>name</type></pattern>
          </ele>
        </ele>
        <ele>
          <name>ip</name>
          <summary>IP addresses of the agent</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>updater_version</name>
          <summary>Updater version string (may be empty)</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>agent_version</name>
          <summary>Agent version string (may be empty)</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>operating_system</name>
          <summary>Operating system (may be empty)</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>architecture</name>
          <summary>CPU architecture (e.g., amd64)</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>update_to_latest</name>
          <summary>Flag to update to latest version (1/0)</summary>
          <pattern><type>integer</type></pattern>
        </ele>
        <ele>
          <name>agent_update_available</name>
          <summary>Flag of agent update available (1/0)</summary>
          <pattern><type>integer</type></pattern>
        </ele>
        <ele>
          <name>updater_update_available</name>
          <summary>Flag of agent updater update available (1/0)</summary>
          <pattern><type>integer</type></pattern>
        </ele>
        <ele>
          <name>config</name>
          <summary>Structured agent-controller scan configuration</summary>
          <pattern>
            <e>agent_control</e>
            <e>agent_script_executor</e>
            <e>heartbeat</e>
          </pattern>
          <ele>
            <name>agent_control</name>
            <pattern><e>retry</e></pattern>
            <ele>
              <name>retry</name>
              <pattern>
                <e>attempts</e>
                <e>delay_in_seconds</e>
                <e>max_jitter_in_seconds</e>
              </pattern>
              <ele>
                <name>attempts</name>
                <pattern><type>integer</type></pattern>
              </ele>
              <ele>
                <name>delay_in_seconds</name>
                <pattern><type>integer</type></pattern>
              </ele>
              <ele>
                <name>max_jitter_in_seconds</name>
                <pattern><type>integer</type></pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>agent_script_executor</name>
            <pattern>
              <e>bulk_size</e>
              <e>bulk_throttle_time_in_ms</e>
              <e>indexer_dir_depth</e>
              <any><e>scheduler_cron_time</e></any>
            </pattern>
            <ele>
              <name>bulk_size</name>
              <pattern><type>integer</type></pattern>
            </ele>
            <ele>
              <name>bulk_throttle_time_in_ms</name>
              <pattern><type>integer</type></pattern>
            </ele>
            <ele>
              <name>indexer_dir_depth</name>
              <pattern><type>integer</type></pattern>
            </ele>
            <ele>
              <name>scheduler_cron_time</name>
              <pattern><any><e>item</e></any></pattern>
              <ele>
                <name>item</name>
                <summary>A cron expression defining execution schedule</summary>
                <pattern><type>text</type></pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>heartbeat</name>
            <pattern>
              <e>interval_in_seconds</e>
              <e>miss_until_inactive</e>
            </pattern>
            <ele>
              <name>interval_in_seconds</name>
              <summary>Expected heartbeat interval from the updater/agent</summary>
              <pattern><type>integer</type></pattern>
            </ele>
            <ele>
              <name>miss_until_inactive</name>
              <summary>Consecutive missed heartbeats before marking agent inactive</summary>
              <pattern><type>integer</type></pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern><type>text</type></pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Parsed filter keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Filter column</summary>
              <pattern><type>text</type></pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Operator</summary>
              <pattern><alts><alt>=</alt><alt>:</alt><alt>~</alt><alt>&gt;</alt><alt>&lt;</alt></alts></pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Filter value</summary>
              <pattern><type>text</type></pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern><e>field</e></pattern>
        <ele>
          <name>field</name>
          <pattern><e>order</e></pattern>
          <ele>
            <name>order</name>
            <pattern><alts><alt>ascending</alt><alt>descending</alt></alts></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>agents</name>
        <pattern>
          <attrib>
            <name>start</name>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>agent_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Count after filtering</summary>
          <pattern><type>integer</type></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Page count</summary>
          <pattern><type>integer</type></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Retrieve a filtered agent result</summary>
      <request>
        <get_agents/>
      </request>
      <response>
        <get_agents_response status="200" status_text="OK">
          <agent id="62462fe0-5834-4630-afc2-0d040c63487c">
            <owner>
              <name>username</name>
            </owner>
            <name>GAT-29-p0MPX0FT</name>
            <comment>Routine sync update</comment>
            <creation_time>2025-05-30T06:24:51Z</creation_time>
            <modification_time>2025-06-03T09:20:26Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <hostname>GAT-29</hostname>
            <agent_id>GAT-29-p0MPX0FT</agent_id>
            <authorized>1</authorized>
            <connection_status>inactive</connection_status>
            <last_update>2025-05-23T08:25:17Z</last_update>
            <last_updater_heartbeat>2025-05-23T08:24:59Z</last_updater_heartbeat>
            <schedule>@every 8h</schedule>
            <scanner id="3b4be213-281f-49ee-b457-5a5f34f71510">
              <name>Agent Controller</name>
            </scanner>
            <ip>127.0.0.1</ip>
            <ip>::1</ip>
            <ip>192.168.79.157</ip>
            <ip>fe80::fe3e:acb9:1b5b:27da</ip>
            <ip>192.168.1.11</ip>
            <updater_version>1.2.3</updater_version>
            <agent_version>0.9.0</agent_version>
            <operating_system>Linux</operating_system>
            <architecture>amd64</architecture>
            <update_to_latest>0</update_to_latest>
            <agent_update_available>1</agent_update_available>
            <updater_update_available>0</updater_update_available>
            <config>
              <agent_control>
                <retry>
                  <attempts>3</attempts>
                  <delay_in_seconds>10</delay_in_seconds>
                  <max_jitter_in_seconds>5</max_jitter_in_seconds>
                </retry>
              </agent_control>
              <agent_script_executor>
                <bulk_size>50</bulk_size>
                <bulk_throttle_time_in_ms>250</bulk_throttle_time_in_ms>
                <indexer_dir_depth>3</indexer_dir_depth>
                <scheduler_cron_time>
                  <item>0 0 * * *</item>
                </scheduler_cron_time>
              </agent_script_executor>
              <heartbeat>
                <interval_in_seconds>600</interval_in_seconds>
                <miss_until_inactive>1</miss_until_inactive>
              </heartbeat>
            </config>
          </agent>
          <filters id="">
            <term>first=1 rows=10 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <keyword>
                <column>rows</column>
                <relation>=</relation>
                <value>10</value>
              </keyword>
              <keyword>
                <column>sort</column>
                <relation>=</relation>
                <value>name</value>
              </keyword>
            </keywords>
          </filters>
          <sort>
            <field>name<order>ascending</order></field>
          </sort>
          <agents start="1" max="1000"/>
          <agent_count>
            <filtered>1</filtered>
            <page>1</page>
          </agent_count>
        </get_agents_response>
      </response>
    </example>
  </command>
  @ENDIF_ENABLE_AGENTS@
  <command>
    <name>get_aggregates</name>
    <summary>Get aggregates of various resources</summary>
    <description>
      <p>
        The client uses the get_aggregate command to get aggregated data like
        counts or averages of various resources.
      </p>
      <p>
        Unlike other get_... commands, get_aggregates ignores the filter
        keywords "first" and "rows". It also does not support selecting single
        items by id or getting items from the trashcan.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query of the resources to aggregate (see get_... commands of selected type for keywords)</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query of the resources to aggregate</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>type</name>
        <summary>The GMP resource type to gather data from</summary>
        <type>text</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>data_column</name>
        <summary>A single column to get the data to aggregate from</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>group_column</name>
        <summary>The field to group the resources by</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>subgroup_column</name>
        <summary>The field to further group the resources inside groups by</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>sort_field</name>
        <summary>The column to sort the aggregated rows by</summary>
        <description>
          With a subgroup column, groups will be sorted by the group_column first.
        </description>
        <type>text</type>
      </attrib>
      <attrib>
        <name>sort_order</name>
        <summary>The order to sort by</summary>
        <type>
          <alts>
            <alt>ascending</alt>
            <alt>descending</alt>
          </alts>
        </type>
      </attrib>
      <attrib>
        <name>sort_stat</name>
        <summary>The statistic to sort the aggregated rows by</summary>
        <type>
          <alts>
            <alt>min</alt>
            <alt>max</alt>
            <alt>mean</alt>
            <alt>sum</alt>
            <alt>count</alt>
            <alt>value</alt>
          </alts>
        </type>
      </attrib>
      <attrib>
        <name>first_group</name>
        <summary>The index of the first aggregate group to return</summary>
        <type>integer</type>
      </attrib>
      <attrib>
        <name>max_groups</name>
        <summary>The maximum number of aggregate groups to return, -1 for all</summary>
        <type>integer</type>
      </attrib>
      <attrib>
        <name>mode</name>
        <summary>Special mode for aggregation</summary>
        <type>
          <alts>
            <alt></alt>
            <alt>word_counts</alt>
          </alts>
        </type>
      </attrib>
      <attrib>
        <name>usage_type</name>
        <summary>Optional usage type to limit configs and tasks to</summary>
        <type>
          <alts>
            <alt>audit</alt>
            <alt>policy</alt>
            <alt>scan</alt>
            <alt></alt>
          </alts>
        </type>
      </attrib>
      <any><e>sort</e></any>
      <any><e>data_column</e></any>
      <any><e>text_column</e></any>
    </pattern>
    <ele>
      <name>sort</name>
      <summary>Optional tuples of sort criteria</summary>
      <pattern>
        <attrib>
          <name>field</name>
          <summary>The column to sort the aggregated rows by</summary>
          <description>
            With a subgroup column, groups will be sorted by the group_column first.
          </description>
          <type>text</type>
        </attrib>
        <attrib>
          <name>order</name>
          <summary>The order to sort by</summary>
          <type>
            <alts>
              <alt>ascending</alt>
              <alt>descending</alt>
            </alts>
          </type>
        </attrib>
        <attrib>
          <name>stat</name>
          <summary>The statistic to sort the aggregated rows by</summary>
          <type>
            <alts>
              <alt>min</alt>
              <alt>max</alt>
              <alt>mean</alt>
              <alt>sum</alt>
              <alt>count</alt>
              <alt>value</alt>
            </alts>
          </type>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>data_column</name>
      <summary>A column to get the data to aggregate from</summary>
      <type>text</type>
    </ele>
    <ele>
      <name>text_column</name>
      <summary>A simple text column which no statistics are calculated for</summary>
      <type>text</type>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>aggregate</e></any>
        <e>filters</e>
      </pattern>
      <ele>
        <name>aggregate</name>
        <summary>A collection of aggregated data of the selected type</summary>
        <pattern>
          <e>data_type</e>
          <any><e>data_column</e></any>
          <o><e>group_column</e></o>
          <o><e>subgroup_column</e></o>
          <any><e>text_column</e></any>
          <or>
            <any><e>group</e></any>
            <e>overall</e>
          </or>
          <o><e>subgroups</e></o>
          <e>column_info</e>
        </pattern>
        <ele>
          <name>data_type</name>
          <summary>The resource type the data is aggregated from</summary>
          <pattern><t>text</t></pattern>
        </ele>
        <ele>
          <name>data_column</name>
          <summary>A column the data is aggregated from</summary>
          <pattern><t>text</t></pattern>
        </ele>
        <ele>
          <name>group_column</name>
          <summary>The column the data is grouped by</summary>
          <pattern><t>text</t></pattern>
        </ele>
        <ele>
          <name>subgroup_column</name>
          <summary>The column to further group the resources by</summary>
          <pattern><t>text</t></pattern>
        </ele>
        <ele>
          <name>text_column</name>
          <summary>A simple text column</summary>
          <pattern><t>text</t></pattern>
        </ele>
        <ele>
          <name>group</name>
          <summary>Aggregate data for a group of resources</summary>
          <pattern>
            <e>value</e>
            <any><e>subgroup</e></any>
            <e>count</e>
            <e>c_count</e>
            <any><e>stats</e></any>
            <any><e>text</e></any>
          </pattern>
          <ele>
            <name>value</name>
            <summary>Value of the group column</summary>
            <pattern><t>text</t></pattern>
          </ele>
          <ele>
            <name>subgroup</name>
            <summary>Aggregate data for a subgroup of resources</summary>
            <pattern>
              <e>value</e>
              <e>count</e>
              <e>c_count</e>
              <any><e>stats</e></any>
            </pattern>
            <ele>
              <name>value</name>
              <summary>Value of the subgroup column</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>count</name>
              <summary>Number of resources in the subgroup</summary>
              <pattern><t>integer</t></pattern>
            </ele>
            <ele>
              <name>c_count</name>
              <summary>Cumulative number of resources in the current subgroup</summary>
              <pattern><t>integer</t></pattern>
            </ele>
            <ele>
              <name>stats</name>
              <summary>Statistics of a data column for the current subgroup</summary>
              <pattern>
                <attrib>
                  <name>column</name>
                  <summary>Name of the column the stats apply to</summary>
                  <type>text</type>
                </attrib>
                <e>min</e>
                <e>max</e>
                <e>mean</e>
                <e>sum</e>
                <e>c_sum</e>
              </pattern>
              <ele>
                <name>min</name>
                <summary>Minimum value of the data column</summary>
                <pattern><t>text</t></pattern>
              </ele>
              <ele>
                <name>max</name>
                <summary>Maximum value of the data column</summary>
                <pattern><t>text</t></pattern>
              </ele>
              <ele>
                <name>mean</name>
                <summary>Arithmetic mean of the numeric values of the data</summary>
                <pattern><t>text</t></pattern>
              </ele>
              <ele>
                <name>sum</name>
                <summary>Sum of the numeric values of the data column</summary>
                <pattern><t>text</t></pattern>
              </ele>
              <ele>
                <name>c_sum</name>
                <summary>Cumulative sum of the data column</summary>
                <pattern><t>text</t></pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>count</name>
            <summary>Number of resources in the group</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>c_count</name>
            <summary>Cumulative number of resources in all groups up to and including the current one</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>text</name>
            <summary>The value of a simple text column</summary>
            <pattern>
              <attrib>
                <name>name</name>
                <summary>Name of the text column</summary>
                <type>text</type>
              </attrib>
              text
            </pattern>
          </ele>
          <ele>
            <name>stats</name>
            <summary>Statistics of a data column</summary>
            <pattern>
              <attrib>
                <name>column</name>
                <summary>Name of the column the stats apply to</summary>
                <type>text</type>
              </attrib>
              <e>min</e>
              <e>max</e>
              <e>mean</e>
              <e>sum</e>
              <e>c_sum</e>
            </pattern>
            <ele>
              <name>min</name>
              <summary>Minimum value of the data column</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>max</name>
              <summary>Maximum value of the data column</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>mean</name>
              <summary>Arithmetic mean of the numeric values of the data</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>sum</name>
              <summary>Sum of the numeric values of the data column</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>c_sum</name>
              <summary>Cumulative sum of the numeric values of the data column for all groups up to and including the current one</summary>
              <pattern><t>text</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>overall</name>
          <summary>Aggregate data for all resources of the selected type</summary>
          <pattern>
            <e>count</e>
            <e>c_count</e>
            <any><e>stats</e></any>
            <any><e>text</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Overall number of resources</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>c_count</name>
            <summary>Cumulative number of resources</summary>
            <description>For overall this is always the same as count.</description>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>stats</name>
            <summary>Statistics of a data column</summary>
            <pattern>
              <attrib>
                <name>column</name>
                <summary>Name of the column the stats apply to</summary>
                <type>text</type>
              </attrib>
              <e>min</e>
              <e>max</e>
              <e>mean</e>
              <e>sum</e>
              <e>c_sum</e>
            </pattern>
            <ele>
              <name>min</name>
              <summary>Overall minimum value of the data column</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>max</name>
              <summary>Overall maximum value of the data column</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>mean</name>
              <summary>Overall arithmetic mean of the numeric values of the data</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>sum</name>
              <summary>Overall sum of the numeric values of the data column</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>c_sum</name>
              <summary>Cumulative sum of the numeric values of the data column</summary>
              <description>For overall this is always the same as sum.</description>
              <pattern><t>text</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>text</name>
            <summary>The value of a simple text column</summary>
            <pattern>
              <attrib>
                <name>name</name>
                <summary>Name of the text column</summary>
                <type>text</type>
              </attrib>
              text
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>subgroups</name>
          <summary>Overview of all subgroup values</summary>
          <pattern>
            <any><e>value</e></any>
          </pattern>
          <ele>
            <name>value</name>
            <summary>Value of the subgroup column</summary>
            <pattern><t>text</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>column_info</name>
          <summary>Info on the aggregate columns</summary>
          <pattern>
            <any><e>aggregate_column</e></any>
          </pattern>
          <ele>
            <name>aggregate_column</name>
            <summary>Info on one column of the aggregate</summary>
            <pattern>
              <e>name</e>
              <e>stat</e>
              <e>type</e>
              <e>column</e>
              <e>data_type</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the column as it appears in the group or overall element</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>stat</name>
              <summary>The type of statistic in the column, e.g. min, max, mean</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>The resource type</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>column</name>
              <summary>Name of the column in the non-aggregated table</summary>
              <pattern><t>text</t></pattern>
            </ele>
            <ele>
              <name>data_type</name>
              <summary>The data type of the column, e.g. integer, text, cvss</summary>
              <pattern><t>text</t></pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get severity statistics of NVTs by family</summary>
      <request>
        <get_aggregates type="nvt" group_column="family" data_column="severity">
        </get_aggregates>
      </request>
      <response>
        <get_aggregates_response status_text="OK" status="200">
          <aggregate>
            <data_type>nvt</data_type>
            <data_column>severity</data_column>
            <group_column>family</group_column>
            <group>
              <value>AIX Local Security Checks</value>
              <count>1</count>
              <c_count>1</c_count>
              <min>3.3</min>
              <max>3.3</max>
              <mean>3.3</mean>
              <sum>3.3</sum>
              <c_sum>3.3</c_sum>
            </group>
            <group>
              <value>Brute force attacks</value>
              <count>8</count>
              <c_count>9</c_count>
              <min>0</min>
              <max>7.8</max>
              <mean>6.275</mean>
              <sum>50.2</sum>
              <c_sum>53.5</c_sum>
            </group>
            <group>
              <value>Buffer overflow</value>
              <count>519</count>
              <c_count>528</c_count>
              <min>10</min>
              <max>9.7</max>
              <mean>8.63083</mean>
              <sum>4479.4</sum>
              <c_sum>4532.9</c_sum>
            </group>
            <truncated>...</truncated>
            <column_info>
              <aggregate_column>
                <name>value</name>
                <stat>value</stat>
                <type>nvt</type>
                <column>family</column>
                <data_type>text</data_type>
              </aggregate_column>
              <aggregate_column>
                <name>count</name>
                <stat>count</stat>
                <type>nvt</type>
                <column></column>
                <data_type>integer</data_type>
              </aggregate_column>
              <aggregate_column>
                <name>c_count</name>
                <stat>c_count</stat>
                <type>nvt</type>
                <column></column>
                <data_type>integer</data_type>
              </aggregate_column>
              <aggregate_column>
                <name>min</name>
                <stat>min</stat>
                <type>nvt</type>
                <column>severity</column>
                <data_type>cvss</data_type>
              </aggregate_column>
              <truncated>...</truncated>
            </column_info>
          </aggregate>
          <filters id="">
            <term>first=1 rows=-1 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <keyword>
                <column>rows</column>
                <relation>=</relation>
                <value>-1</value>
              </keyword>
              <keyword>
                <column>sort</column>
                <relation>=</relation>
                <value>name</value>
              </keyword>
            </keywords>
          </filters>
        </get_aggregates_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_alerts</name>
    <summary>Get one or many alerts</summary>
    <description>
      The client uses the get_alerts command to get alert information.
      If the command sent by the client was valid, the manager will
      reply with a list of alerts to the client.
    </description>
    <pattern>
      <attrib>
        <name>alert_id</name>
        <summary>ID of single alert to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>event</name>
            <type>integer</type>
            <summary>The event that triggers the alert</summary>
          </column>
          <column>
            <name>condition</name>
            <type>integer</type>
            <summary>The condition for the alert</summary>
          </column>
          <column>
            <name>method</name>
            <type>integer</type>
            <summary>The method of the alert</summary>
          </column>
          <column>
            <name>filter</name>
            <type>uuid</type>
            <summary>UUID of the filter applied to the report</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan alerts instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>tasks</name>
        <summary>Whether to get the tasks using the alerts</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>alert</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>alerts</e>
        <e>alert_count</e>
      </pattern>
      <ele>
        <name>alert</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>in_use</e>
          <e>writable</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>condition</e>
          <e>event</e>
          <e>method</e>
          <e>filter</e>
          <o><e>tasks</e></o>
          <e>active</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the alert</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the alert</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the alert</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any tasks are using the alert</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the alert is writable or not</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Creation time of the alert</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Last time the alert was modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions that the current user has on the alert</summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the alert</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>condition</name>
          <summary>
            The condition that must be satisfied for the alert to occur
          </summary>
          <pattern>
            text
            <any><e>data</e></any>
          </pattern>
          <ele>
            <name>data</name>
            <summary>Some data that defines the condition</summary>
            <pattern>
              text
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the condition data</summary>
              <pattern>
                text
              </pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>event</name>
          <summary>The event that must happen for the alert to occur</summary>
          <pattern>
            text
            <any><e>data</e></any>
          </pattern>
          <ele>
            <name>data</name>
            <summary>Some data that defines the event</summary>
            <pattern>
              text
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the event data</summary>
              <pattern>
                text
              </pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>method</name>
          <summary>The method by which the alert must occur</summary>
          <pattern>
            text
            <any><e>data</e></any>
          </pattern>
          <ele>
            <name>data</name>
            <summary>Some data that defines the method</summary>
            <pattern>
              text
              <e>name</e>
              <o><e>credential</e></o>
              <o><e>certificate_info</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the method data</summary>
              <pattern>
                text
              </pattern>
            </ele>
            <ele>
              <name>credential</name>
              <summary>Credential information if the data is a credential ID</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <type>uuid</type>
                  <summary>UUID of the credential</summary>
                </attrib>
                <e>name</e>
                <e>login</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>The name of the credential</summary>
                <pattern><t>name</t></pattern>
              </ele>
              <ele>
                <name>login</name>
                <summary>The username of the credential</summary>
                <pattern><t>name</t></pattern>
              </ele>
            </ele>
            <ele>
              <name>certificate_info</name>
              <summary>Certificate info if the data is a TLS certificate</summary>
              <type>certificate_info</type>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>filter</name>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the filter</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the filter</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the filter is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>tasks</name>
          <summary>Tasks using the alert</summary>
          <pattern>
            <any><e>task</e></any>
          </pattern>
          <ele>
            <name>task</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the task</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the task</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>active</name>
          <summary>Whether the alert is active</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>alerts</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First alert</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of alerts</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>alert_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of alerts after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of alerts on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the alerts</summary>
      <request>
        <get_alerts></get_alerts>
      </request>
      <response>
        <get_alerts_response status="200" status_text="OK">
          <alert id="6181e65d-8ba0-4937-9c44-8f2b10b0def7">
            <name>Team alert</name>
            <comment></comment>
            <creation_time>2012-04-27T12:44:00+01:00</creation_time>
            <modification_time>2012-08-28T12:14:00+01:00</modification_time>
            <writable>1</writable>
            <in_use>1</in_use>
            <condition>
              Threat level at least
              <data>
                <name>level</name>
                High
              </data>
            </condition>
            <event>
              Task run status changed
              <data>
                <name>status</name>
                Done
              </data>
            </event>
            <method>
              Email
              <data>
                <name>to_address</name>
                team@example.org
              </data>
              <data>
                <name>from_address</name>
                admin@example.org
              </data>
              <data>
                <name>notice</name>
                0
              </data>
            </method>
          </alert>
          <truncated>...</truncated>
        </get_alerts_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_assets</name>
    <summary>Get one or many assets</summary>
    <description>
      The client uses the get_assets command to get asset information.
    </description>
    <pattern>
      <attrib>
        <name>asset_id</name>
        <summary>ID of single asset to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
        </filter_keywords>
        <filter_keywords>
          <condition>type is "host"</condition>
          <option>
            <name>os_id</name>
            <type>UUID</type>
            <summary>
              UUID of an OS asset that was detected on the hosts but
              does not have to be the best match
            </summary>
          </option>
          <column>
            <name>best_os_cpe</name>
            <type>text</type>
            <summary>CPE-ID of best matching OS</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Highest severity of the asset from latest report</summary>
          </column>
          <column>
            <name>severity_level</name>
            <type>threat</type>
            <summary>
              Highest severity level of the asset from latest report,
              e.g. "High" or "Low"
            </summary>
          </column>
          <column>
            <name>os</name>
            <type>text</type>
            <summary>Best matching OS, either name or CPE-ID</summary>
          </column>
          <column>
            <name>oss</name>
            <type>text</type>
            <summary>Comma-separated list of all OSs of the host</summary>
          </column>
          <column>
            <name>hostname</name>
            <type>text</type>
            <summary>Hostname</summary>
          </column>
          <column>
            <name>ip</name>
            <type>text</type>
            <summary>IP address</summary>
          </column>
          <column>
            <name>updated</name>
            <type>iso_time</type>
            <summary>Time of last update (alias of modified)</summary>
          </column>
        </filter_keywords>
        <filter_keywords>
          <condition>type is "os"</condition>
          <column>
            <name>all_hosts</name>
            <type>integer</type>
            <summary>
              Number of all hosts using the asset, even if the OS
              is not the best match
            </summary>
          </column>
          <column>
            <name>title</name>
            <type>text</type>
            <summary>CPE title of the asset</summary>
          </column>
          <column>
            <name>hosts</name>
            <type>integer</type>
            <summary>Number of hosts using the asset as best OS match</summary>
          </column>
          <column>
            <name>latest_severity</name>
            <type>severity</type>
            <summary>Latest severity of the asset</summary>
          </column>
          <column>
            <name>highest_severity</name>
            <type>severity</type>
            <summary>Latest severity of the asset</summary>
          </column>
          <column>
            <name>average_severity</name>
            <type>severity</type>
            <summary>Average severity of the asset</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>
              Average severity of the asset (alias of average_severity)
            </summary>
          </column>
          <column>
            <name>average_severity_score</name>
            <type>decimal</type>
            <summary>
              Average severity times the number of hosts the asset was found on
            </summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>ignore_pagination</name>
        <summary>
          Whether to ignore info used to split the report into pages
          like the filter terms "first" and "rows"
        </summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>type</name>
        <summary>Type of assets to get</summary>
        <type>
          <alts>
            <alt>host</alt>
            <alt>os</alt>
          </alts>
        </type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include additional information (e.g. tags)</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>asset</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>assets</e>
        <e>asset_count</e>
      </pattern>
      <ele>
        <name>asset</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <o><e>identifiers</e></o>
          <e>type</e>
          <or>
            <e>host</e>
            <e>os</e>
          </or>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the asset</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the asset</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the asset</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the asset was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the asset was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>identifiers</name>
          <summary>Host identifiers</summary>
          <pattern>
            <e>identifier</e>
          </pattern>
          <ele>
            <name>identifier</name>
            <summary>A single identifier</summary>
            <pattern>
              <e>name</e>
              <e>value</e>
              <e>creation_time</e>
              <e>modification_time</e>
              <e>source</e>
              <o><e>os</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the identifier</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The value of the identifier</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>creation_time</name>
              <summary>Date and time the identifier was created</summary>
              <pattern><t>iso_time</t></pattern>
            </ele>
            <ele>
              <name>modification_time</name>
              <summary>Date and time the identifier was last modified</summary>
              <pattern><t>iso_time</t></pattern>
            </ele>
            <ele>
              <name>source</name>
              <summary>The source of the identifier</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>type</e>
                <e>data</e>
                <e>deleted</e>
                <e>name</e>
              </pattern>
              <ele>
                <name>type</name>
                <summary>Type of source</summary>
                <pattern>text</pattern>
              </ele>
              <ele>
                <name>data</name>
                <summary>Extra data, depends on type of source</summary>
                <pattern>text</pattern>
              </ele>
              <ele>
                <name>deleted</name>
                <summary>Whether the source has been deleted</summary>
                <pattern>boolean</pattern>
              </ele>
              <ele>
                <name>name</name>
                <summary>User name when source type is User, else empty</summary>
                <pattern>boolean</pattern>
              </ele>
            </ele>
            <ele>
              <name>os</name>
              <pattern>
                <attrib>
                  <name>id</name>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>title</e>
              </pattern>
              <ele>
                <name>title</name>
                <summary>Title of OS</summary>
                <pattern>text</pattern>
              </ele>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>type</name>
          <summary>Either "host" or "os"</summary>
          <pattern>
            xsd:token { pattern = "host|os" }
          </pattern>
        </ele>
        <ele>
          <name>host</name>
          <summary>A host</summary>
          <pattern>
            <e>severity</e>
            <any><e>detail</e></any>
            <o><e>routes</e></o>
          </pattern>
          <ele>
            <name>severity</name>
            <summary>Severity of the host</summary>
            <pattern>
              <e>value</e>
            </pattern>
            <ele>
              <name>value</name>
              <pattern><t>severity</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>detail</name>
            <summary>A host detail</summary>
            <pattern>
              <e>name</e>
              <e>value</e>
              <e>source</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the detail</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The value of the detail</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>source</name>
              <summary>The source of the detail</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>type</e>
              </pattern>
              <ele>
                <name>type</name>
                <summary>Type of source</summary>
                <pattern>text</pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>routes</name>
            <summary>List of routes to the host, with most recent ones first</summary>
            <pattern>
              <any><e>route</e></any>
            </pattern>
            <ele>
              <name>route</name>
              <summary>List of hosts on the route to the host</summary>
              <pattern>
                <any><e>host</e></any>
              </pattern>
              <ele>
                <name>host</name>
                <summary>A host on the route</summary>
                <pattern>
                  <attrib>
                    <name>id</name>
                    <summary>UUID if the host is in the asset management</summary>
                    <type>uuid</type>
                  </attrib>
                  <attrib>
                    <name>distance</name>
                    <summary>Distance from the scanner</summary>
                    <type>number</type>
                  </attrib>
                  <attrib>
                    <name>same_source</name>
                    <summary>Whether the current host asset has the same source as the target host</summary>
                    <type>boolean</type>
                  </attrib>
                  <e>ip</e>
                </pattern>
                <ele>
                  <name>ip</name>
                  <summary>IP address of the host</summary>
                  <pattern>text</pattern>
                </ele>
              </ele>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>os</name>
          <summary>An OS</summary>
          <pattern>
            <e>title</e>
            <e>installs</e>
            <e>all_installs</e>
            <e>latest_severity</e>
            <e>highest_severity</e>
            <e>average_severity</e>
            <e>hosts</e>
          </pattern>
          <ele>
            <name>title</name>
            <summary>Title of the OS</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <!-- FIX hosts/host_count? -->
            <name>installs</name>
            <summary>
              Number of hosts on which OS has been detected as the best match
            </summary>
            <pattern>integer</pattern>
          </ele>
          <ele>
            <name>all_installs</name>
            <summary>
              Number of hosts on which OS has been detected,
              not necessarily as the best match
            </summary>
            <pattern>integer</pattern>
          </ele>
          <ele>
            <name>latest_severity</name>
            <summary>Latest severity</summary>
            <pattern>
              <e>value</e>
            </pattern>
            <ele>
              <name>value</name>
              <pattern>text</pattern>
            </ele>
          </ele>
          <ele>
            <name>highest_severity</name>
            <summary>Highest severity</summary>
            <pattern>
              <e>value</e>
            </pattern>
            <ele>
              <name>value</name>
              <pattern>text</pattern>
            </ele>
          </ele>
          <ele>
            <name>average_severity</name>
            <summary>Average severity</summary>
            <pattern>
              <e>value</e>
            </pattern>
            <ele>
              <name>value</name>
              <pattern>text</pattern>
            </ele>
          </ele>
          <ele>
            <name>hosts</name>
            <summary>
              Hosts on which this OS has been detected as the best match
            </summary>
            <pattern>
              <any><e>asset</e></any>
            </pattern>
            <ele>
              <name>asset</name>
              <summary>The host</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>name</e>
                <e>severity</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>The name of the host</summary>
                <pattern><t>name</t></pattern>
              </ele>
              <ele>
                <name>severity</name>
                <summary>Severity of the host</summary>
                <pattern>
                  <e>value</e>
                </pattern>
                <ele>
                  <name>value</name>
                  <pattern>text</pattern>
                </ele>
              </ele>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether the asset is in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the asset is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions that the current user has on the asset</summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the asset</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>assets</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First asset</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of assets</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>asset_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of assets after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of assets on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many assets</summary>
      <request>
        <get_assets></get_assets>
      </request>
      <response>
        <get_assets_response status="200" status_text="OK">
          <asset id="b493b7a8-7489-11df-a3ec-002264764cea">
            <name>Localhost</name>
            <comment></comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>0</writable>
            <in_use>7</in_use>
            <hosts>localhost</hosts>
            <max_hosts>1</max_hosts>
            <ssh_credential id="">
              <name></name>
            </ssh_credential>
            <smb_credential id="">
              <name></name>
            </smb_credential>
            <esxi_credential id="">
              <name></name>
            </esxi_credential>
          </asset>
          <truncated>...</truncated>
        </get_assets_response>
      </response>
    </example>
    <example>
      <summary>Get a single asset, including tasks using the asset</summary>
      <request>
        <get_assets asset_id="1f28d970-17ef-4c69-ba8a-13827059f2b9" tasks="1">
        </get_assets>
      </request>
      <response>
        <get_assets_response status="200" status_text="OK">
          <asset id="1f28d970-17ef-4c69-ba8a-13827059f2b9">
            <name>dik</name>
            <comment>dik mm</comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>0</writable>
            <in_use>4</in_use>
            <hosts>dik.example.org</hosts>
            <max_hosts>1</max_hosts>
            <ssh_credential id="58ff2793-2dc7-43fe-85f9-20bfac5a87e4">
              <name>mm</name>
            </ssh_credential>
            <smb_credential id="">
              <name></name>
            </smb_credential>
            <esxi_credential id="">
              <name></name>
            </esxi_credential>
            <tasks>
              <task id="13bb418a-4220-4575-b35b-ec398bff7417">
                <name>dik mm</name>
              </task>
              <truncated>...</truncated>
            </tasks>
          </asset>
        </get_assets_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_configs</name>
    <summary>Get one or many configs</summary>
    <description>
      The client uses the get_configs command to get config information.
      If the command sent by the client was valid, the manager will
      reply with a list of configs to the client.
    </description>
    <pattern>
      <attrib>
        <name>config_id</name>
        <summary>ID of single config to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>nvt_selector</name>
            <type>uuid</type>
            <summary>NVT selector UUID</summary>
          </column>
          <column>
            <name>families_total</name>
            <type>integer</type>
            <summary>Total number of selected NVT families</summary>
          </column>
          <column>
            <name>nvts_total</name>
            <type>integer</type>
            <summary>Total number of selected NVTs</summary>
          </column>
          <column>
            <name>families_trend</name>
            <type>boolean</type>
            <summary>Whether new NVT families will be added</summary>
          </column>
          <column>
            <name>nvts_trend</name>
            <type>boolean</type>
            <summary>Whether new NVTs will be added</summary>
          </column>
          <column>
            <name>usage_type</name>
            <type>
              <alts>
                <alt>scan</alt>
                <alt>policy</alt>
              </alts>
            </type>
            <summary>Usage type</summary>
          </column>
          <column>
            <name>predefined</name>
            <type>boolean</type>
            <summary>Whether the config was created from the feed</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan configs instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to get config families, preferences and nvt selectors</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>families</name>
        <summary>Whether to include the families if no details are requested</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>preferences</name>
        <summary>Whether to include the preferences if no details are requested</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>tasks</name>
        <summary>Whether to get tasks using this config</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>usage_type</name>
        <summary>Optional usage type to limit the configs to. Affects total count unlike filter</summary>
        <type>
          <alts>
            <alt>policy</alt>
            <alt>scan</alt>
            <alt></alt>
          </alts>
        </type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>config</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>configs</e>
        <e>config_count</e>
      </pattern>
      <ele>
        <name>config</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>family_count</e>
          <e>nvt_count</e>
          <e>type</e>
          <e>usage_type</e>
          <e>max_nvt_count</e>
          <e>known_nvt_count</e>
          <o><e>scanner</e></o>
          <e>in_use</e>
          <e>writable</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>tasks</e>
          <o><e>families</e></o>
          <o><e>preferences</e></o>
          <o><e>nvt_selectors</e></o>
          <e>predefined</e>
          <o><e>deprecated</e></o>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the config</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the config</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the config</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Creation time of the config</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Last time the config was modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>family_count</name>
          <summary>The number of families selected by the config</summary>
          <pattern>
            <t>integer</t>
            <e>growing</e>
          </pattern>
          <ele>
            <name>growing</name>
            <summary>
              Whether new families are automatically added to the
              config
            </summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>nvt_count</name>
          <summary>The number of NVTs selected by the config</summary>
          <pattern>
            <t>integer</t>
            <e>growing</e>
          </pattern>
          <ele>
            <name>growing</name>
            <summary>
              Whether new NVTs are automatically added to the config
            </summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>type</name>
          <summary>The type of the config (0 = OpenVAS, 1 OSP)</summary>
          <pattern>
            <alts>
              <alt>0</alt>
              <alt>1</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>usage_type</name>
          <summary>The usage type of the config (scan or policy)</summary>
          <pattern>
            <alts>
              <alt>scan</alt>
              <alt>policy</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>max_nvt_count</name>
          <summary>Total number of NVTs in the families selected by the config</summary>
          <pattern>
            <t>integer</t>
          </pattern>
        </ele>
        <ele>
          <name>known_nvt_count</name>
          <summary>Total number of known NVTs selected by the config</summary>
          <pattern>
            <t>integer</t>
          </pattern>
        </ele>
        <ele>
          <name>scanner</name>
          <summary>The scanner used by the config if it is an OSP one</summary>
          <pattern>
            <t>text</t>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <summary>UUID of the scanner</summary>
              <required>1</required>
            </attrib>
            <e>trash</e>
          </pattern>
          <ele>
            <name>trash</name>
            <summary>Whether the scanner is in the trashcan</summary>
            <pattern>
              <t>boolean</t>
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any tasks are using the config</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>
            Whether the config may be modified
          </summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions that the current user has on the target</summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the config</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>tasks</name>
          <summary>All tasks using the config</summary>
          <pattern>
            <any><e>task</e></any>
          </pattern>
          <ele>
            <name>task</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the task</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the task</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>families</name>
          <summary>All families selected by the config</summary>
          <pattern>
            <any><e>family</e></any>
          </pattern>
          <ele>
            <name>family</name>
            <pattern>
              <e>name</e>
              <e>nvt_count</e>
              <e>max_nvt_count</e>
              <e>growing</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the family</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>The type of the config. 0 = OpenVAS scanner, 1 = OSP Scanner</summary>
              <pattern><t>integer</t></pattern>
            </ele>
            <ele>
              <name>nvt_count</name>
              <summary>The number of NVTs selected in the family</summary>
              <pattern><t>integer</t></pattern>
            </ele>
            <ele>
              <name>max_nvt_count</name>
              <summary>The total number of NVTs in the family</summary>
              <pattern><t>integer</t></pattern>
            </ele>
            <ele>
              <name>growing</name>
              <summary>
                Whether new NVTs in the family are automatically added to the selection
              </summary>
              <pattern><t>boolean</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>preferences</name>
          <summary>Preferences for all NVTs selected by the config</summary>
          <pattern>
            <any><e>preference</e></any>
          </pattern>
          <ele>
            <name>preference</name>
            <pattern>
              <e>nvt</e>
              <e>name</e>
              <o><e>hr_name</e></o>
              <e>id</e>
              <e>type</e>
              <e>value</e>
              <o><e>default</e></o>
              <any><e>alt</e></any>
            </pattern>
            <ele>
              <name>nvt</name>
              <summary>NVT to which preference applies</summary>
              <pattern>
                <attrib>
                  <name>oid</name>
                  <type>oid</type>
                  <required>1</required>
                </attrib>
                <e>name</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>The name of the NVT</summary>
                <pattern><t>name</t></pattern>
              </ele>
            </ele>
            <ele>
              <name>name</name>
              <summary>The compact name of the preference as used by the scanner</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>hr_name</name>
              <summary>The human readable name of the preference</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>id</name>
              <summary>The ID of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>The type of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The value of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>default</name>
              <summary>The default value of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>alt</name>
              <summary>An alternate value for the preference</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>nvt_selectors</name>
          <summary>All NVT selectors of the config</summary>
          <pattern>
            <any><e>nvt_selector</e></any>
          </pattern>
          <ele>
            <name>nvt_selector</name>
            <summary>An NVT selector</summary>
            <pattern>
              <e>name</e>
              <e>include</e>
              <e>type</e>
              <e>family_or_nvt</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the selector</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>include</name>
              <summary>Whether the selector is an include selector</summary>
              <pattern>
                <t>boolean</t>
              </pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>Selector type: 0 = all, 1 = family, 2 = NVT</summary>
              <pattern>
                <t>integer</t>
              </pattern>
            </ele>
            <ele>
              <name>family_or_nvt</name>
              <summary>Name of the family or OID of the NVT</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>predefined</name>
          <summary>Whether the config was predefined by the feed</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>deprecated</name>
          <summary>Whether the config is deprecated</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>configs</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First config</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of configs</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>config_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of configs after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of configs on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many configs</summary>
      <request>
        <get_configs></get_configs>
      </request>
      <response>
        <get_configs_response status="200" status_text="OK">
          <config id="daba56c8-73ec-11df-a475-002264764cea">
            <owner>
              <name>mabel</name>
            </owner>
            <name>Full and fast</name>
            <comment>Most NVT's; optimized by using previously collected information. Version 20201215.</comment>
            <creation_time>2023-03-06T11:26:30-05:00</creation_time>
            <modification_time>2024-01-23T10:02:26-05:00</modification_time>
            <writable>0</writable>
            <in_use>1</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <family_count>
              56
              <growing>1</growing>
            </family_count>
            <nvt_count>
              88005
              <growing>1</growing>
            </nvt_count>
            <type>0</type>
            <usage_type>scan</usage_type>
            <predefined>0</predefined>
          </config>
          <truncated>...</truncated>
        </get_configs_response>
      </response>
    </example>
    <example>
      <summary>Get a single config, including preference, family lists and tasks using this config</summary>
      <request>
        <get_configs config_id="daba56c8-73ec-11df-a475-002264764cea" preferences="1" families="1" tasks="1">
        </get_configs>
      </request>
      <response>
        <get_configs_response status="200" status_text="OK">
          <config id="daba56c8-73ec-11df-a475-002264764cea">
            <owner>
              <name>mabel</name>
            </owner>
            <name>Full and fast</name>
            <comment>
              Most NVT's; optimized by using previously collected information. Version 20201215.
            </comment>
            <creation_time>2023-03-06T11:26:30-05:00</creation_time>
            <modification_time>2024-01-23T10:02:26-05:00</modification_time>
            <writable>0</writable>
            <in_use>1</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <family_count>
              56
              <growing>1</growing>
            </family_count>
            <nvt_count>
              88005
              <growing>1</growing>
            </nvt_count>
            <type>0</type>
            <usage_type>scan</usage_type>
            <predefined>0</predefined>
            <families>
              <family>
                <name>AIX Local Security Checks</name>
                <nvt_count>1</nvt_count>
                <max_nvt_count>1</max_nvt_count>
                <growing>1</growing>
              </family>
              <truncated>...</truncated>
            </families>
            <max_nvt_count>88014</max_nvt_count>
            <known_nvt_count>88005</known_nvt_count>
            <preferences>
              <preference>
                <nvt oid="1.3.6.1.4.1.25623.1.0.100151">
                  <name>PostgreSQL Detection (TCP)</name>
                </nvt>
                <id>1</id>
                <hr_name>Postgres Username:</hr_name>
                <name>Postgres Username:</name>
                <type>entry</type>
                <value>postgres</value>
                <default>postgres</default>
              </preference>
              <truncated>...</truncated>
            </preferences>
            <tasks>
              <task id="1d5c5fc8-937e-41f1-b52f-49887c386b12">
                <name>Web Servers</name>
              </task>
              <truncated>...</truncated>
            </tasks>
          </config>
          <truncated>...</truncated>
        </get_configs_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_credentials</name>
    <summary>Get one or many credentials</summary>
    <description>
      The client uses the get_credentials command to get credentials information.
      If the command sent by the client was valid, the manager will
      reply with a list of credentials to the client.
    </description>
    <pattern>
      <attrib>
        <name>credential_id</name>
        <summary>ID of single credential to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>login</name>
            <type>text</type>
            <summary>The login username</summary>
          </column>
          <column>
            <name>type</name>
            <type>text</type>
            <summary>The type abbreviation</summary>
          </column>
          <column>
            <name>allow_insecure</name>
            <type>boolean</type>
            <summary>Whether insecure use is allowed</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include certificate info</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>scanners</name>
        <summary>Whether to include a list of scanners using the credentials</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan credentials instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>targets</name>
        <summary>Whether to include a list of targets using the credentials</summary>
        <type>boolean</type>
      </attrib>
      @IF_ENABLE_CONTAINER_SCANNNING@
      <attrib>
        <name>oci_image_targets</name>
        <summary>Whether to include a list of OCI image targets using the credentials</summary>
        <type>boolean</type>
      </attrib>
      @ENDIF_ENABLE_CONTAINER_SCANNNING@
      <attrib>
        <name>format</name>
        <type>
          <alts>
            <alt>key</alt>
            <alt>rpm</alt>
            <alt>deb</alt>
            <alt>exe</alt>
            <alt>pem</alt>
          </alts>
        </type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>credential</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>credentials</e>
        <e>credential_count</e>
      </pattern>
      <ele>
        <name>credential</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>allow_insecure</e>
          <e>login</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>type</e>
          <e>full_type</e>
          <e>formats</e>
          <o><e>auth_algorithm</e></o>
          <o><e>privacy</e></o>
          <o><e>certificate_info</e></o>
          <o><e>private_key_info</e></o>
          <o><e>public_key_info</e></o>
          <o><e>scanners</e></o>
          <o><e>targets</e></o>
          @IF_ENABLE_CONTAINER_SCANNNING@
          <o><e>oci_image_targets</e></o>
          @ENDIF_ENABLE_CONTAINER_SCANNNING@
          <o>
            <or>
              <e>public_key</e>
              <e>package</e>
              <e>certificate</e>
            </or>
          </o>
          <o><e>kdc</e></o>
          <o><e>kdcs</e></o>
          <o><e>realm</e></o>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the credential</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the credential</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>allow_insecure</name>
          <summary>Whether insecure use of the credential is allowed</summary>
          <pattern>
            <t>boolean</t>
          </pattern>
        </ele>
        <ele>
          <name>login</name>
          <summary>The username of the credential</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the credential</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the credential was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the credential was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether this credential is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any targets are using the credential</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the credential
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the credential</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>type</name>
          <summary>The type of the credential</summary>
          <description>
            <p>cc: Client certificate</p>
            <p>krb5: Kerberos 5</p>
            <p>pgp: PGP encryption key</p>
            <p>pw: Password only</p>
            <p>smime: S/MIME certificate</p>
            <p>snmp: SNMP</p>
            <p>up: User name + password</p>
            <p>usk: User name + SSH key</p>
          </description>
          <pattern>
            <alts>
              <alt>cc</alt>
              <alt>krb5</alt>
              <alt>pgp</alt>
              <alt>pw</alt>
              <alt>smime</alt>
              <alt>snmp</alt>
              <alt>up</alt>
              <alt>usk</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>full_type</name>
          <summary>The type of the credential written out</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>formats</name>
          <summary>The export formats available for the credential</summary>
          <pattern>
            <any><e>format</e></any>
          </pattern>
          <ele>
            <name>format</name>
            <summary>Format as used in the command</summary>
            <pattern>
              <alts>
                <alt>key</alt>
                <alt>rpm</alt>
                <alt>deb</alt>
                <alt>exe</alt>
                <alt>pem</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>auth_algorithm</name>
          <summary>The SNMP authentication algorithm</summary>
          <pattern>
            <alts>
              <alt>md5</alt>
              <alt>sha1</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>privacy</name>
          <pattern>
            <e>algorithm</e>
          </pattern>
          <ele>
            <name>algorithm</name>
            <summary>The SNMP privacy algorithm</summary>
            <pattern>
              <alts>
                <alt>aes</alt>
                <alt>des</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>certificate_info</name>
          <summary>
            Info about the certificate
          </summary>
          <type>certificate_info</type>
        </ele>
        <ele>
          <name>private_key_info</name>
          <summary>
            Info about the private key if one is set.
          </summary>
          <pattern>
            <o><e>type</e></o>
            <o><e>sha256_hash</e></o>
          </pattern>
          <ele>
            <name>type</name>
            <summary>The key type / algorithm if the key is valid</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>sha256_hash</name>
            <summary>SHA-256 hash of the key if it is valid</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
        <ele>
          <name>public_key_info</name>
          <summary>
            Info about the public key if one is set.
          </summary>
          <pattern>
            <o><e>fingerprint</e></o>
          </pattern>
          <ele>
            <name>fingerprint</name>
            <summary>The key fingerprint if the key is valid</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
        <ele>
          <name>scanners</name>
          <summary>All scanners using this credential</summary>
          <pattern>
            <any><e>scanner</e></any>
          </pattern>
          <ele>
            <name>scanner</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the scanner</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the scanner</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>targets</name>
          <summary>All targets using this credential</summary>
          <pattern>
            <any><e>target</e></any>
          </pattern>
          <ele>
            <name>target</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the target</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the target</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        @IF_ENABLE_CONTAINER_SCANNNING@
        <ele>
          <name>oci_image_targets</name>
          <summary>All OCI image targets using this credential</summary>
          <pattern>
            <any><e>oci_image_target</e></any>
          </pattern>
          <ele>
            <name>oci_image_target</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the OCI image target</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the OCI image target</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        @ENDIF_ENABLE_CONTAINER_SCANNNING@
        <ele>
          <name>public_key</name>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>package</name>
          <pattern>
            <attrib>
              <name>format</name>
              <type>
                <alts>
                  <alt>rpm</alt>
                  <alt>deb</alt>
                  <alt>exe</alt>
                </alts>
              </type>
              <required>1</required>
            </attrib>
            base64
          </pattern>
        </ele>
        <ele>
          <name>certificate</name>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>kdc</name>
          <pattern>text</pattern>
          <summary>Deprecated: This element is deprecated. Use kdcs instead. The Kerberos KDC (key distribution center(s))</summary>
        </ele>
        <ele>
          <name>kdcs</name>
          <summary>Multiple Kerberos KDCs</summary>
          <description>
            <p>List of one or more Kerberos Key Distribution Centers (KDCs).</p>
          </description>
          <pattern>
            <any><e>kdc</e></any>
          </pattern>
          <ele>
            <name>kdc</name>
            <summary>A single Kerberos Key Distribution Center</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
        <ele>
          <name>realm</name>
          <pattern>text</pattern>
          <summary>The Kerberos realm</summary>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>credentials</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First credential</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of credentials</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>credential_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of credentials after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of credentials on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many the credentials</summary>
      <request>
        <get_credentials></get_credentials>
      </request>
      <response>
        <get_credentials_response status="200" status_text="OK">
          <credential id="c33864a9-d3fd-44b3-8717-972bfb01dfcf">
            <name>sally</name>
            <login>sally</login>
            <comment></comment>
            <creation_time>2012-12-14T17:11:25+01:00</creation_time>
            <modification_time>2012-05-28T11:19:20+01:00</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <type>usk</type>
            <full_type>username + SSH key</full_type>
            <formats>
              <format>key</format>
              <format>rpm</format>
              <format>deb</format>
            </formats>
          </credential>
          <credential id="8e305b0b-260d-450d-91a8-dadf0b144e15">
            <name>bob</name>
            <comment>Bob on the web server.</comment>
            <creation_time>2013-01-03T15:49:35+01:00</creation_time>
            <modification_time>2013-01-18T12:07:00+01:00</modification_time>
            <writable>1</writable>
            <in_use>1</in_use>
            <login>bob</login>
            <type>up</type>
            <full_type>username + password</full_type>
            <formats>
              <format>exe</format>
            </formats>
          </credential>
          <truncated>...</truncated>
        </get_credentials_response>
      </response>
    </example>
    <example>
      <summary>Get a single credential, its public key and targets using it</summary>
      <request>
        <get_credentials
          credential_id="8e305b0b-260d-450d-91a8-dadf0b144e15"
          format="key" targets="1">
        </get_credentials>
      </request>
      <response>
        <get_credentials_response status="200" status_text="OK">
          <credential id="8e305b0b-260d-450d-91a8-dadf0b144e15">
            <name>bob</name>
            <comment>Bob on the web server.</comment>
            <creation_time>2012-11-03T15:41:35+01:00</creation_time>
            <modification_time>2012-11-18T13:17:00+01:00</modification_time>
            <writable>1</writable>
            <in_use>1</in_use>
            <login>bob</login>
            <type>up</type>
            <full_type>username + password</full_type>
            <targets>
              <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9">
                <name>Web server</name>
              </target>
            </targets>
            <public_key>
              ssh-rsa AAAAB3...Z64IcQ== Key generated by GVM
            </public_key>
          </credential>
        </get_credentials_response>
      </response>
    </example>
    <example>
      <summary>Get the Debian package of a single credential</summary>
      <request>
        <get_credentials
          credential_id="8e305b0b-260d-450d-91a8-dadf0b144e15"
          format="deb">
        </get_credentials>
      </request>
      <response>
        <get_credentials_response status="200" status_text="OK">
          <credential id="8e305b0b-260d-450d-91a8-dadf0b144e15">
            <name>bob</name>
            <login>bob</login>
            <comment>Bob on the web server.</comment>
            <creation_time>2012-11-03T15:41:35+01:00</creation_time>
            <modification_time>2012-11-18T13:17:00+01:00</modification_time>
            <writable>1</writable>
            <in_use>1</in_use>
            <type>up</type>
            <full_type>username + password</full_type>
            <targets>
              <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9">
                <name>Web server</name>
              </target>
            </targets>
            <package format="deb">ITxhcmNoPgpk...DmvF0AKAAACg==</package>
          </credential>
        </get_credentials_response>
      </response>
    </example>
  </command>
@ENDIF_ENABLE_CREDENTIAL_STORES@
  <command>
    <name>get_credential_stores</name>
    <summary>Get one or many credential stores</summary>
    <description>
      The client uses the get_credential_stores command to get
      information about credential stores, which are interfaces to
      external services for managing credential information.
      If the command sent by the client was valid, the manager will
      reply with a list of credential stores to the client.
    </description>
    <pattern>
      <attrib>
        <name>credential_store_id</name>
        <summary>ID of single credential store to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>version</name>
            <type>text</type>
            <summary>The version of the credential store data</summary>
          </column>
          <column>
            <name>active</name>
            <type>boolean</type>
            <summary>Whether the credential store is active</summary>
          </column>
          <column>
            <name>host</name>
            <type>text</type>
            <summary>The host address or hostname of the external service</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include details</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>credential_store</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>credential_stores</e>
        <e>credential_store_count</e>
      </pattern>
      <ele>
        <name>credential_store</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <o><e>permissions</e></o>
          <e>version</e>
          <e>active</e>
          <e>host</e>
          <e>path</e>
          <e>preferences</e>
          <e>selectors</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the credential store</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the credential store</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the credential store</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the credential store was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the credential store was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether this credential store is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether this credential store is in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the credential store
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the credential store</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>version</name>
          <summary>Version of the data format and connector used to query the external credential service</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>active</name>
          <summary>Whether the credential store is active and can be use in credentials</summary>
          <pattern>
            <type>boolean</type>
          </pattern>
        </ele>
        <ele>
          <name>host</name>
          <summary>Host address or hostname of the external service</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>path</name>
          <summary>Path of the external service</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>preferences</name>
          <summary>Store specific preferences for querying the external service</summary>
          <description>
            Preferences apply to all credentials using the credential store and
            mostly consist of data used to connect to and authenticate with the
            credential store like client certificates and private keys.
          </description>
          <pattern>
            <any><e>preference</e></any>
          </pattern>
          <ele>
            <name>preference</name>
            <pattern>
              <attrib>
                <name>secret</name>
                <type>boolean</type>
                <summary>Whether the preference is encrypted and its value is not shown in the response</summary>
              </attrib>
              <e>name</e>
              <e>type</e>
              <e>pattern</e>
              <e>passphrase_name</e>
              <o><e>value</e></o>
              <o><e>default_value</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>Data type of the preference</summary>
              <pattern>
                <alts>
                  <alt>string</alt>
                  <alt>integer</alt>
                  <alt>float</alt>
                  <alt>base64</alt>
                  <alt>x509_certs</alt>
                  <alt>x509_privkey</alt>
                  <alt>pkcs12_file</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>pattern</name>
              <summary>Optional regular expression. If given, string values must match</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>passphrase_name</name>
              <summary>Optional name of a passphrase preference for private keys</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the preference, hidden if preference is a secret</summary>
              <description>
                String, integers and floating point numbers are given as
                plain text while base64 and the x509 types are Base64 encoded
                binary data that will be decoded for use and validation.
              </description>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>default_value</name>
              <summary>
                Default value of the preference, hidden if preference is
                a secret
              </summary>
              <description>
                The same encoding rules apply here as for the value.
                Secrets are empty by default.
              </description>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>selectors</name>
          <summary>
            Credential specific data for selecting a specific credential
            data set
          </summary>
          <pattern>
            <any><e>selector</e></any>
          </pattern>
          <description>
            Selector values are set individually in each credential using the
            credential store and are usually unique identifiers of the data
            in the external service. The credential store defines the names,
            default values and and supported credential types of selectors.
          </description>
          <ele>
            <name>selector</name>
            <pattern>
              <e>name</e>
              <e>pattern</e>
              <e>default_value</e>
              <e>credential_types</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the selector</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>pattern</name>
              <summary>Optional regular expression. If given, string values must match</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>default_value</name>
              <summary>Default value of the selector</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>credential_types</name>
              <summary>List of credential types that use the selector</summary>
              <pattern>
                <any><e>credential_type</e></any>
              </pattern>
              <ele>
                <name>credential_type</name>
                <pattern>text</pattern>
              </ele>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>credential_stores</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First credential store</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of credential stores</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>credential_store_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of credential stores after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of credential stores on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
  </command>
@ENDIF_ENABLE_CREDENTIAL_STORES@
  <command>
    <name>get_features</name>
    <summary>Get a list of optional features</summary>
    <description>
      <p>
        The client uses the get_features command to get a list of optional
        features.
        If the command sent by the client was valid, the manager will
        reply with a list of features to the client.
      </p>
    </description>
    <pattern></pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>feature</e></any>
      </pattern>
      <ele>
        <name>feature</name>
        <pattern>
          <attrib>
            <name>compiled_in</name>
            <type>boolean</type>
            <summary>Whether the feature exists in the binary</summary>
            <required>1</required>
          </attrib>
          <attrib>
            <name>enabled</name>
            <type>boolean</type>
            <summary>Whether the feature is enabled</summary>
            <required>1</required>
          </attrib>
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the feature</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the optional features</summary>
      <request>
        <get_feeds>
        </get_feeds>
      </request>
      <response>
        <get_features_response status="200" status_text="OK">
          <feature compiled_in="1" enabled="0">
            <name>OPENVASD</name>
          </feature>
          <feature compiled_in="1" enabled="0">
            <name>ENABLE_CONTAINER_SCANNING</name>
          </feature>
          <feature compiled_in="1" enabled="0">
            <name>ENABLE_AGENTS</name>
          </feature>
          <feature compiled_in="0" enabled="0">
            <name>ENABLE_CREDENTIAL_STORES</name>
          </feature>
          <feature compiled_in="1" enabled="0">
            <name>FEED_VT_METADATA</name>
          </feature>
        </get_features_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_feeds</name>
    <summary>Get one or many feeds</summary>
    <description>
      <p>
        The client uses the get_feeds command to get feed information.
        If the command sent by the client was valid, the manager will
        reply with a list of feeds to the client.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>type</name>
        <summary>Type of single feed to get: NVT, CERT, SCAP or GVMD_DATA</summary>
        <type>text</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>feed_owner_set</e>
        <e>feed_roles_set</e>
        <e>feed_resources_access</e>
        <any><e>feed</e></any>
      </pattern>
      <ele>
        <name>feed_owner_set</name>
        <summary>Whether the feed owner is set</summary>
        <pattern><t>boolean</t></pattern>
      </ele>
      <ele>
        <name>feed_roles_set</name>
        <summary>Whether the feed roles are set</summary>
        <pattern><t>boolean</t></pattern>
      </ele>
      <ele>
        <name>feed_resources_access</name>
        <summary>Whether the user has access to feed resources</summary>
        <pattern><t>boolean</t></pattern>
      </ele>
      <ele>
        <name>feed</name>
        <pattern>
          <e>type</e>
          <e>name</e>
          <e>version</e>
          <e>description</e>
          <o><e>sync_not_available</e></o>
          <o><e>currently_syncing</e></o>
        </pattern>
        <ele>
          <name>type</name>
          <summary>The type of feed: NVT, CERT, SCAP or GVMD_DATA</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the feed</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>version</name>
          <summary>The version of the feed</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>description</name>
          <summary>A description of the feed</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>sync_not_available</name>
          <summary>Present if syncing is not available</summary>
          <pattern>
            <e>error</e>
          </pattern>
          <ele>
            <name>error</name>
            <summary>Description of why sync is not available</summary>
          </ele>
        </ele>
        <ele>
          <name>currently_syncing</name>
          <summary>Present if a sync of this type is underway</summary>
          <pattern>
            <e>timestamp</e>
          </pattern>
          <ele>
            <name>timestamp</name>
            <summary>Time sync started</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the feeds</summary>
      <request>
        <get_feeds>
        </get_feeds>
      </request>
      <response>
        <get_feeds_response status_text="OK" status="200">
          <feed_owner_set>1</feed_owner_set>
          <feed_roles_set>1</feed_roles_set>
          <feed_resources_access>1</feed_resources_access>
          <feed>
            <type>NVT</type>
            <name>Greenbone Security Feed</name>
            <version>201608180124</version>
            <description>This script synchronizes an NVT collection with...</description>
          </feed>
          <feed>
            <type>CERT</type>
            <name>Greenbone CERT Feed</name>
            <version>201609130000</version>
            <description>This script synchronizes a CERT collection with...</description>
          </feed>
          <feed>
            <type>SCAP</type>
            <name>Greenbone SCAP Feed</name>
            <version>201608172300</version>
            <description>This script synchronizes a SCAP collection with...</description>
          </feed>
        </get_feeds_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_filters</name>
    <summary>Get one or many filters</summary>
    <description>
      The client uses the get_filters command to get filter information.
    </description>
    <pattern>
      <attrib>
        <name>filter_id</name>
        <summary>ID of single filter to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>type</name>
            <type>text</type>
            <summary>Resource type the filter is restricted to</summary>
          </column>
          <column>
            <name>term</name>
            <type>text</type>
            <summary>The filter term</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan filters instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>alerts</name>
        <summary>Whether to include list of alerts that use the filter</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>filter</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>filters2</e>
        <e>filter_count</e>
      </pattern>
      <ele>
        <name>filter</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>term</e>
          <e>type</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>in_use</e>
          <e>writable</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <o><e>alerts</e></o>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the filter</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the filter</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the filter</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>term</name>
          <summary>The filter term</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>type</name>
          <summary>Resource type filter applies to.  Blank for all</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the filter was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the filter was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any alerts are using the filter</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the filter is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions that the current user has on the filter</summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the filter</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>alerts</name>
          <summary>All alerts using the filter</summary>
          <pattern>
            <any><e>alert</e></any>
          </pattern>
          <ele>
            <name>alert</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the alert</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the alert</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <id>filters2</id>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First filter</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of filters</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>filter_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of filters after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of filters on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many filters</summary>
      <request>
        <get_filters></get_filters>
      </request>
      <response>
        <get_filters_response status="200" status_text="OK">
          <filter id="b493b7a8-7489-11df-a3ec-001164764cea">
            <name>Single Targets</name>
            <comment>Targets with only one host</comment>
            <term>ips=1 first=1 rows=-2</term>
            <type>target</type>
            <in_use>1</in_use>
            <writable>1</writable>
            <creation_time>2015-07-15T15:05:55Z</creation_time>
            <modification_time>2015-07-15T15:05:55Z</modification_time>
          </filter>
          <truncated>...</truncated>
        </get_filters_response>
      </response>
    </example>
    <example>
      <summary>Get single filter, including alerts that use the filter</summary>
      <request>
        <get_filters filter_id="c33864a9-d3fd-44b3-8717-972bfb01dfc0" tasks="1">
        </get_filters>
      </request>
      <response>
        <get_filters_response status="200" status_text="OK">
          <filter id="c33864a9-d3fd-44b3-8717-972bfb01dfc0">
            <name>Local</name>
            <comment>Any item with name containing 'local'.</comment>
            <term>name~local first=1 rows=-2</term>
            <type></type>
            <in_use>1</in_use>
            <writable>1</writable>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <alerts>
              <alert id="13bb418a-4220-4575-b35b-ec398bff7418">
                <name>Local Mailer</name>
              </alert>
              <truncated>...</truncated>
            </alerts>
          </filter>
        </get_filters_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_groups</name>
    <summary>Get one or many groups</summary>
    <description>
      The client uses the get_groups command to get group information.
    </description>
    <pattern>
      <attrib>
        <name>group_id</name>
        <summary>ID of single group to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan groups instead</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>group</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>groups</e>
        <e>group_count</e>
      </pattern>
      <ele>
        <name>group</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>users</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the group</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the group</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the group</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the group was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the group was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>users</name>
          <summary>
            A comma-separated list of the users in the group
          </summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the group is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether the group is in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions that the current user has on the group</summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the group</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>groups</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First group</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of groups</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>group_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of groups after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of groups on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many groups</summary>
      <request>
        <get_groups></get_groups>
      </request>
      <response>
        <get_groups_response status="200" status_text="OK">
          <group id="b493b7a8-7489-11df-a3ec-002264764cea">
            <name>Management</name>
            <comment>Managers</comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <users>sarah, frank</users>
          </group>
          <truncated>...</truncated>
          <filters id="">
            <term>first=1 rows=-1 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <truncated>...</truncated>
            </keywords>
          </filters>
          <sort>
            <field>
              name
              <order>ascending</order>
            </field>
          </sort>
          <groups max="-1" start="1"></groups>
          <group_count>
            1
            <filtered>1</filtered>
            <page>1</page>
          </group_count>
        </get_groups_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_info</name>
    <summary>Get information for items of given type</summary>
    <description>
      The client uses the get_info command to get information about
      static data from an external source, like CVE or CPE.
      If the command sent by the client was valid, the manager will
      reply with a list of info elements of a given type to the client.
    </description>
    <pattern>
      <attrib>
        <name>type</name>
        <summary>Type must be either CERT_BUND_ADV, CPE, CVE, DFN_CERT_ADV or NVT</summary>
        <type>text</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>name</name>
        <summary>Name or identifier of the requested information</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>info_id</name>
        <summary>ID of single info to get. Conflicts with name</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>CVSS severity score of the SecInfo</summary>
          </column>
        </filter_keywords>
        <filter_keywords>
          <condition>type is "nvt"</condition>
          <column>
            <name>summary</name>
            <type>text</type>
            <summary>Summary text of the NVT</summary>
          </column>
          <column>
            <name>cve</name>
            <type>text</type>
            <summary>List of CVEs of the NVT</summary>
          </column>
          <column>
            <name>family</name>
            <type>text</type>
            <summary>Family of the NVT</summary>
          </column>
          <column>
            <name>cvss</name>
            <type>severity</type>
            <summary>Alias for severity</summary>
          </column>
          <column>
            <name>cvss_base</name>
            <type>severity</type>
            <summary>Alias for severity</summary>
          </column>
          <column>
            <name>script_tags</name>
            <type>text</type>
            <summary>List of script tags</summary>
          </column>
          <column>
            <name>qod</name>
            <type>integer</type>
            <summary>Numerical QoD</summary>
          </column>
          <column>
            <name>qod_type</name>
            <type>text</type>
            <summary>QoD type</summary>
          </column>
          <column>
            <name>solution_type</name>
            <type>text</type>
            <summary>Solution type</summary>
          </column>
          <column>
            <name>solution</name>
            <type>text</type>
            <summary>Solution description text</summary>
          </column>
          <column>
            <name>insight</name>
            <type>text</type>
            <summary>Insight section text</summary>
          </column>
          <column>
            <name>affected</name>
            <type>text</type>
            <summary>Text listing affected software</summary>
          </column>
          <column>
            <name>impact</name>
            <type>text</type>
            <summary>Impact description text</summary>
          </column>
          <column>
            <name>detection</name>
            <type>text</type>
            <summary>Detection description text</summary>
          </column>
          <column>
            <name>solution_method</name>
            <type>text</type>
            <summary>Solution method</summary>
          </column>
          <column>
            <name>version</name>
            <type>integer</type>
            <summary>Version of the NVT (deprected)</summary>
          </column>
          <column>
            <name>epss_score</name>
            <type>decimal</type>
            <summary>
              EPSS score of highest severity CVE (see epss/max_severity)
            </summary>
          </column>
          <column>
            <name>epss_percentile</name>
            <type>decimal</type>
            <summary>
              EPSS percentile of highest severity CVE (see epss/max_severity)
            </summary>
          </column>
          <column>
            <name>max_epss_score</name>
            <type>decimal</type>
            <summary>
              Highest EPSS score of referenced CVEs (see epss/max_epss)
            </summary>
          </column>
          <column>
            <name>max_epss_percentile</name>
            <type>decimal</type>
            <summary>
              Highest EPSS percentile of referenced CVEs (see epss/max_epss)
            </summary>
          </column>
        </filter_keywords>
        <filter_keywords>
          <condition>type is "cve"</condition>
          <column>
            <name>cvss_vector</name>
            <type>text</type>
            <summary>The CVSS base vector</summary>
          </column>
          <column>
            <name>products</name>
            <type>text</type>
            <summary>Space separated list CPEs the CVE applies to</summary>
          </column>
          <column>
            <name>description</name>
            <type>text</type>
            <summary>Description text of the CVE</summary>
          </column>
          <column>
            <name>published</name>
            <type><t>iso_time</t></type>
            <summary>Time the CVE was published, alias for created</summary>
          </column>
          <column>
            <name>epss_score</name>
            <type>decimal</type>
            <summary>EPSS score the CVE</summary>
          </column>
          <column>
            <name>epss_percentile</name>
            <type>decimal</type>
            <summary>EPSS percentile of the CVE</summary>
          </column>
        </filter_keywords>
        <filter_keywords>
          <condition>type is "cpe"</condition>
          <column>
            <name>title</name>
            <type>text</type>
            <summary>Title text of the CPE</summary>
          </column>
          <column>
            <name>status</name>
            <type>text</type>
            <summary>Status of the CPE</summary>
          </column>
          <column>
            <name>deprecated_by_id</name>
            <type>text</type>
            <summary>NVD ID that has deprecated this CPE</summary>
          </column>
          <column>
            <name>cves</name>
            <type>integer</type>
            <summary>Number of CVEs referencing this CPE</summary>
          </column>
          <column>
            <name>cpe_name_id</name>
            <type>uuid</type>
            <summary>NVD assigned cpeNameId of the CPE</summary>
          </column>
        </filter_keywords>
        <filter_keywords>
          <condition>type is either "cert_bund_adv" or "dfn_cert_adv"</condition>
          <column>
            <name>title</name>
            <type>text</type>
            <summary>Title text of the CERT advisory</summary>
          </column>
          <column>
            <name>summary</name>
            <type>text</type>
            <summary>Summary text of the CERT advisory</summary>
          </column>
          <column>
            <name>cves</name>
            <type>integer</type>
            <summary>Number of CVEs referenced by the CERT advisory</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include information about references to this information</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>info</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>details</e>
        <e>info_count</e>
      </pattern>
      <ele>
        <name>info</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>integer</type>
            <summary>A unique number identifying this info, if available</summary>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>update_time</e>
          <or>
            <e>cert_bund_adv</e>
            <e>cpe</e>
            <e>cve</e>
            <e>dfn_cert_adv</e>
            <e>nvt</e>
          </or>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the info</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the info</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the info</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the info was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the info was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>update_time</name>
          <summary>Date and time the source of the info was read</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions that the current user has on the info</summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the info</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>cert_bund_adv</name>
          <pattern>
            <e>title</e>
            <e>summary</e>
            <e>severity</e>
            <e>cve_refs</e>
            <o><e>raw_data</e></o>
          </pattern>
          <summary>An CERT-Bund advisory info element</summary>
          <ele>
            <name>title</name>
            <summary>Title of the advisory</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>summary</name>
            <summary>Summary text of the advisory</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>severity</name>
            <summary>Highest CVSS severity score of CVEs referenced by the advisory</summary>
            <pattern>
              <t>severity</t>
            </pattern>
          </ele>
          <ele>
            <name>cve_refs</name>
            <summary>Number of CVEs referenced by this advisory</summary>
            <pattern>
              <t>integer</t>
            </pattern>
          </ele>
          <ele>
            <name>raw_data</name>
            <summary>Source representation of the information. Only when details were requested</summary>
            <pattern>
              text
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>cpe</name>
          <pattern>
            <e>cpe_name_id</e>
            <o><e>title</e></o>
            <e>severity</e>
            <e>cve_refs</e>
            <e>deprecated</e>
            <any><e>deprecated_by</e></any>
            <o><e>cves</e></o>
            <o><e>references</e></o>
            <o><e>raw_data</e></o>
          </pattern>
          <summary>A CPE info element</summary>
          <ele>
            <name>cpe_name_id</name>
            <summary>NVD assigned cpeNameId of the CPE</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>title</name>
            <summary>The title of the CPE</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>severity</name>
            <summary>The highest CVSS severity score recorded for this CPE</summary>
            <pattern>
              <t>severity</t>
            </pattern>
          </ele>
          <ele>
            <name>cve_refs</name>
            <summary>The number CVE of references to this CPE</summary>
            <pattern>
              <t>integer</t>
            </pattern>
          </ele>
          <ele>
            <name>deprecated</name>
            <summary>Whether the CPE is deprecated</summary>
            <pattern>
              <t>boolean</t>
            </pattern>
          </ele>
          <ele>
            <name>deprecated_by</name>
            <summary>Another CPE the current one is deprecated by</summary>
            <pattern>
              <attrib>
                <name>cpe_id</name>
                <type>uuid</type>
                <summary>CPE id the current CPE is deprecated by</summary>
                <required>1</required>
              </attrib>
            </pattern>
          </ele>
          <ele>
            <name>cves</name>
            <summary>CVEs referring to this CPE. Only when details were requested</summary>
            <pattern>
              <any><e>cve</e></any>
            </pattern>
            <ele>
              <name>cve</name>
              <summary>CVE referring to this CPE</summary>
              <pattern>
                text
              </pattern>
            </ele>
          </ele>
          <ele>
            <name>references</name>
            <summary>References of this CPE. Only when details were requested</summary>
            <pattern>
              <any><e>reference</e></any>
            </pattern>
            <ele>
              <name>reference</name>
              <summary>Reference of the CPE. Text contains type</summary>
              <pattern>
                <attrib>
                  <name>href</name>
                  <type>text</type>
                  <summary>Reference URL</summary>
                  <required>1</required>
                </attrib>
                text
              </pattern>
            </ele>
          </ele>
          <ele>
            <name>raw_data</name>
            <summary>Source representation of the information. Only when details were requested</summary>
            <pattern>
              text
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>nvt</name>
          <pattern>
            text
          </pattern>
          <summary>A NVT info element</summary>
        </ele>
        <ele>
          <name>cve</name>
          <pattern>
            <e>severity</e>
            <e>cvss_vector</e>
            <e>description</e>
            <e>products</e>
            <o><e>epss</e></o>
            <o><e>nvts</e></o>
            <o><e>cert</e></o>
            <o><e>configuration_nodes</e></o>
            <o><e>references</e></o>
            <o><e>raw_data</e></o>
          </pattern>
          <summary>A CVE info element</summary>
          <ele>
            <name>severity</name>
            <summary>CVSS severity score of the CVE</summary>
            <pattern>
              <t>severity</t>
            </pattern>
          </ele>
          <ele>
            <name>cvss_vector</name>
            <summary>CVSS base vector string</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>description</name>
            <summary>The CVE's description</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>products</name>
            <summary>Space separated list of CPEs affected by this</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>epss</name>
            <summary>Exploit Prediction Scoring System (EPSS) info if available</summary>
            <pattern>
              <e>score</e>
              <e>percentile</e>
            </pattern>
            <ele>
              <name>score</name>
              <summary>EPSS score of the CVE</summary>
              <pattern>
                <t>decimal</t>
              </pattern>
            </ele>
            <ele>
              <name>percentile</name>
              <summary>EPSS percentile of the CVE</summary>
              <pattern>
                <t>decimal</t>
              </pattern>
            </ele>
          </ele>
          <ele>
            <name>nvts</name>
            <summary>NVTs addressing this CVE. Only when details were requested</summary>
            <pattern>
              <any><e>nvt</e></any>
            </pattern>
            <ele>
              <name>nvt</name>
              <summary>NVT referring to this CPE</summary>
              <pattern>
                <attrib>
                  <name>oid</name>
                  <type>oid</type>
                </attrib>
                <e>name</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>Name of the NVT</summary>
                <pattern>
                  text
                </pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>cert</name>
            <summary>List of CERT advisories referencing this CVE</summary>
            <pattern>
              <any><e>cert_ref</e></any>
              <o><e>warning</e></o>
            </pattern>
            <ele>
              <name>cert_ref</name>
              <summary>A CERT advisory reference</summary>
              <pattern>
                <attrib>
                  <name>type</name>
                  <summary>Type of the advisory (e.g. "DFN-CERT", "CERT-BUND")</summary>
                  <type>text</type>
                </attrib>
                <e>name</e>
                <e>title</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>The name / ID of the advisory</summary>
                <pattern>
                  text
                </pattern>
              </ele>
              <ele>
                <name>title</name>
                <summary>The title of the advisory</summary>
                <pattern>
                  text
                </pattern>
              </ele>
            </ele>
            <ele>
              <name>warning</name>
              <summary>A warning message, e.g. when the database is unavailable</summary>
              <pattern>
                text
              </pattern>
            </ele>
          </ele>
          <ele>
            <name>configuration_nodes</name>
            <summary>List of configuration nodes. Only when details were requested</summary>
            <pattern>
              <any><e>node</e></any>
            </pattern>
            <ele>
              <name>node</name>
              <summary>A configuration node for the CVE</summary>
              <pattern>
                <e>operator</e>
                <e>negate</e>
                <o><e>match_string</e></o>
                <o><any><e>node</e></any></o>
              </pattern>
              <ele>
                <name>operator</name>
                <summary>The operator for the match criteria</summary>
                <pattern>
                  text
                </pattern>
              </ele>
              <ele>
                <name>negate</name>
                <summary>A true or false value, whether the operator is negated</summary>
                <pattern>
                  text
                </pattern>
              </ele>
              <ele>
                <name>match_string</name>
                <summary>The match string for the node</summary>
                <pattern>
                  <e>criteria</e>
                  <e>vulnerable</e>
                  <e>version_start_including</e>
                  <e>version_start_excluding</e>
                  <e>version_end_including</e>
                  <e>version_end_excluding</e>
                  <e>matched_cpes</e>
                </pattern>
                <ele>
                  <name>criteria</name>
                  <summary>A CPE match criteria</summary>
                  <pattern>
                    text
                  </pattern>
                </ele>
                <ele>
                  <name>vulnerable</name>
                  <summary>A true or false value, whether matching CPEs are considered vulnerable</summary>
                  <pattern>
                    text
                  </pattern>
                </ele>
                <ele>
                  <name>version_start_including</name>
                  <summary>From version (including)</summary>
                  <pattern>
                    text
                  </pattern>
                </ele>
                <ele>
                  <name>version_start_excluding</name>
                  <summary>From version (excluding)</summary>
                  <pattern>
                    text
                  </pattern>
                </ele>
                <ele>
                  <name>version_end_including</name>
                  <summary>Up to version (including)</summary>
                  <pattern>
                    text
                  </pattern>
                </ele>
                <ele>
                  <name>version_end_excluding</name>
                  <summary>Up to version (exluding)</summary>
                  <pattern>
                    text
                  </pattern>
                </ele>
                <ele>
                  <name>matched_cpes</name>
                  <summary>List of matching CPEs</summary>
                  <pattern>
                    <e>name</e>
                    <e>deprecated</e>
                    <o><e>deprecated_by</e></o>
                  </pattern>
                  <ele>
                    <name>name</name>
                    <summary>Name of the matching CPE</summary>
                    <pattern>
                      text
                    </pattern>
                  </ele>
                  <ele>
                    <name>deprecated</name>
                    <summary>A true or false value, whether the CPE is deprecated</summary>
                    <pattern>
                      text
                    </pattern>
                  </ele>
                  <ele>
                    <name>deprecated_by</name>
                    <summary>CPE ID the current CPE is deprecated by. Only when the CPE is deprecated</summary>
                    <pattern>
                      <attrib>
                        <name>cpe_id</name>
                        <type>uuid</type>
                        <summary>CPE ID the current CPE is deprecated by</summary>
                      </attrib>
                    </pattern>
                  </ele>
                </ele>
              </ele>
              <ele>
                <name>node</name>
                <summary>Nodes can contain other nested nodes</summary>
                <pattern>
                  node
                </pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>references</name>
            <summary>References of this CVE. Only when details were requested</summary>
            <pattern>
              <any><e>reference</e></any>
            </pattern>
            <ele>
              <name>reference</name>
              <summary>Reference of the CVE</summary>
              <pattern>
                <e>url</e>
                <e>tags</e>
              </pattern>
              <ele>
                <name>url</name>
                <summary>The URL of the reference</summary>
                <pattern>
                  text
                </pattern>
              </ele>
              <ele>
                <name>tags</name>
                <summary>List of tags for the reference</summary>
                <pattern>
                  <o><any><e>tag</e></any></o>
                </pattern>
                <ele>
                  <name>tag</name>
                  <summary>Tag for a reference</summary>
                  <pattern>
                    text
                  </pattern>
                </ele>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>raw_data</name>
            <summary>Source representation of the information. Only when details were requested</summary>
            <pattern>
              text
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>dfn_cert_adv</name>
          <pattern>
            <e>title</e>
            <e>summary</e>
            <e>severity</e>
            <e>cve_refs</e>
            <o><e>raw_data</e></o>
          </pattern>
          <summary>An DFN-CERT advisory info element</summary>
          <ele>
            <name>title</name>
            <summary>Title of the advisory</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>summary</name>
            <summary>Summary text of the advisory</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>severity</name>
            <summary>Highest CVSS severity score of CVEs referenced by the advisory</summary>
            <pattern>
              <t>severity</t>
            </pattern>
          </ele>
          <ele>
            <name>cve_refs</name>
            <summary>Number of CVEs referenced by this advisory</summary>
            <pattern>
              <t>integer</t>
            </pattern>
          </ele>
          <ele>
            <name>raw_data</name>
            <summary>Source representation of the information. Only when details were requested</summary>
            <pattern>
              text
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <type>text</type>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>info_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of info elements after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of info elements on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>details</name>
        <summary>Are details included in this response</summary>
        <type>boolean</type>
      </ele>
    </response>
    <example>
      <summary>Get a info about cpe:/a:gnu:gzip:1.3.3 with all details</summary>
      <request>
        <get_info type="CPE" name="cpe:/a:gnu:gzip:1.3.3" details="1"/>
      </request>
      <response>
        <get_info_response status_text="OK" status="200">
          <info id="28139">
            <name>cpe:/a:gnu:gzip:1.3.3</name>
            <comment/>
            <creation_time>2007-09-14T17:36:49Z</creation_time>
            <modification_time>2007-09-14T17:36:49Z</modification_time>
            <writable>0</writable>
            <in_use>0</in_use>
            <update_time>2012-10-26T13:18:00.000+0000</update_time>
            <cpe>
              <title>GNU Gzip 1.3.3</title>
              <score>100</score>
              <cve_refs>5</cve_refs>
              <status>DRAFT</status>
              <cves>
                <cve>
                  <entry xmlns:vuln="http://scap.nist.gov/schema/vulnerability/0.4"
                    xmlns="http://scap.nist.gov/schema/feed/vulnerability/2.0"
                    xmlns:patch="http://scap.nist.gov/schema/patch/0.1"
                    xmlns:cpe-lang="http://cpe.mitre.org/language/2.0"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:scap-core="http://scap.nist.gov/schema/scap-core/0.1"
                    xmlns:cvss="http://scap.nist.gov/schema/cvss-v2/0.2"
                    id="CVE-2004-0603">
                    <vuln:cvss>
                      <cvss:base_metrics>
                        <cvss:score>10.0</cvss:score>
                      </cvss:base_metrics>
                    </vuln:cvss>
                  </entry>
                </cve>
                <cve>
                  <entry xmlns:vuln="http://scap.nist.gov/schema/vulnerability/0.4"
                    xmlns="http://scap.nist.gov/schema/feed/vulnerability/2.0"
                    xmlns:patch="http://scap.nist.gov/schema/patch/0.1"
                    xmlns:cpe-lang="http://cpe.mitre.org/language/2.0"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:scap-core="http://scap.nist.gov/schema/scap-core/0.1"
                    xmlns:cvss="http://scap.nist.gov/schema/cvss-v2/0.2"
                    id="CVE-2010-0001">
                    <vuln:cvss>
                      <cvss:base_metrics>
                        <cvss:score>6.8</cvss:score>
                      </cvss:base_metrics>
                    </vuln:cvss>
                  </entry>
                </cve>
                <cve>
                  <entry xmlns:vuln="http://scap.nist.gov/schema/vulnerability/0.4"
                    xmlns="http://scap.nist.gov/schema/feed/vulnerability/2.0"
                    xmlns:patch="http://scap.nist.gov/schema/patch/0.1"
                    xmlns:cpe-lang="http://cpe.mitre.org/language/2.0"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:scap-core="http://scap.nist.gov/schema/scap-core/0.1"
                    xmlns:cvss="http://scap.nist.gov/schema/cvss-v2/0.2"
                    id="CVE-2009-2624">
                    <vuln:cvss>
                      <cvss:base_metrics>
                        <cvss:score>6.8</cvss:score>
                      </cvss:base_metrics>
                    </vuln:cvss>
                  </entry>
                </cve>
                <cve>
                  <entry xmlns:vuln="http://scap.nist.gov/schema/vulnerability/0.4"
                    xmlns="http://scap.nist.gov/schema/feed/vulnerability/2.0"
                    xmlns:patch="http://scap.nist.gov/schema/patch/0.1"
                    xmlns:cpe-lang="http://cpe.mitre.org/language/2.0"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:scap-core="http://scap.nist.gov/schema/scap-core/0.1"
                    xmlns:cvss="http://scap.nist.gov/schema/cvss-v2/0.2"
                    id="CVE-2005-1228">
                    <vuln:cvss>
                      <cvss:base_metrics>
                        <cvss:score>5.0</cvss:score>
                      </cvss:base_metrics>
                    </vuln:cvss>
                  </entry>
                </cve>
                <cve>
                  <entry xmlns:vuln="http://scap.nist.gov/schema/vulnerability/0.4"
                    xmlns="http://scap.nist.gov/schema/feed/vulnerability/2.0"
                    xmlns:patch="http://scap.nist.gov/schema/patch/0.1"
                    xmlns:cpe-lang="http://cpe.mitre.org/language/2.0"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:scap-core="http://scap.nist.gov/schema/scap-core/0.1"
                    xmlns:cvss="http://scap.nist.gov/schema/cvss-v2/0.2"
                    id="CVE-2005-0988">
                    <vuln:cvss>
                      <cvss:base_metrics>
                        <cvss:score>3.7</cvss:score>
                      </cvss:base_metrics>
                    </vuln:cvss>
                  </entry>
                </cve>
              </cves>
              <raw_data>
                <cpe-item xmlns:ns6="http://scap.nist.gov/schema/scap-core/0.1"
                  xmlns:config="http://scap.nist.gov/schema/configuration/0.1"
                  xmlns:meta="http://scap.nist.gov/schema/cpe-dictionary-metadata/0.2"
                  xmlns="http://cpe.mitre.org/dictionary/2.0"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xmlns:scap-core="http://scap.nist.gov/schema/scap-core/0.3"
                  name="cpe:/a:gnu:gzip:1.3.3">
                  <title xml:lang="en-US">GNU Gzip 1.3.3</title>
                  <meta:item-metadata nvd-id="28139" status="DRAFT" modification-date="2007-09-14T17:36:49.090Z"/>
                </cpe-item>
              </raw_data>
            </cpe>
          </info>
          <details>1</details>
          <filters id="(null)">
            <term/>
          </filters>
          <sort>
            <field>name<order>ascending</order></field>
          </sort>
          <info max="-1" start="1"/>
          <info_count>
            <filtered>1</filtered>
            <page>1</page>
          </info_count>
        </get_info_response>
      </response>
    </example>
    <example>
      <summary>Get a info CVE-1999-0010 without details</summary>
      <request>
        <get_info name="CVE-2011-0018" type="cve"/>
      </request>
      <response>
        <get_info_response status_text="OK" status="200">
          <info id="CVE-2011-0018">
            <name>CVE-2011-0018</name>
            <comment/>
            <creation_time>2011-01-28T16:00:02Z</creation_time>
            <modification_time>2018-10-10T20:09:00Z</modification_time>
            <update_time>2020-11-13T02:30:00.000+0000</update_time>
            <writable>0</writable>
            <in_use>0</in_use>
            <update_time>2012-10-26T13:18:00.000+0000</update_time>
            <cve>
              <score>90</score>
              <cvss_vector>AV:N/AC:L/Au:S/C:C/I:C/A:C</cvss_vector>
              <description>The email function in manage_sql.c in ...(truncated for example)</description>
              <products>cpe:/a:openvas:openvas_manager:1.0.1 ...(truncated for example)</products>
            </cve>
          </info>
          <filters id="(null)">
            <term/>
          </filters>
          <sort>
            <field>name<order>ascending</order></field>
          </sort>
          <info max="-1" start="1"/>
          <info_count>
            <filtered>1</filtered>
            <page>1</page>
          </info_count>
        </get_info_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_license</name>
    <summary>Get the current license</summary>
    <description>
      <p>
        The client uses the get_license command to get the current license.
      </p>
      <p>
        This command is only available if gvmd is built with the licensing
        library (libtheia).
      </p>
    </description>
    <pattern>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>license</e>
      </pattern>
      <ele>
        <name>license</name>
        <summary>The license information</summary>
        <pattern>
          <e>status</e>
          <e>content</e>
        </pattern>
        <ele>
          <name>status</name>
          <summary>Status of the license</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>content</name>
          <summary>The main content of the license file</summary>
          <pattern>
            <e>meta</e>
            <e>appliance</e>
            <e>keys</e>
            <e>signatures</e>
          </pattern>
          <ele>
            <name>meta</name>
            <summary>License metadata</summary>
            <pattern>
              <e>version</e>
              <e>id</e>
              <e>comment</e>
              <e>type</e>
              <e>customer_name</e>
              <e>created</e>
              <e>begins</e>
              <e>expires</e>
            </pattern>
            <ele>
              <name>version</name>
              <summary>Version of the license file schema</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>id</name>
              <summary>Unique Identifier of the license</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Short comment summarizing the license</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>License type, e.g. &quot;trial&quot; or &quot;commercial&quot;</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>customer_name</name>
              <summary>Name of the customer the license is issued for</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>created</name>
              <summary>Time the license was created</summary>
              <pattern><t>iso_time</t></pattern>
            </ele>
            <ele>
              <name>begins</name>
              <summary>Time after which the license is valid</summary>
              <pattern><t>iso_time</t></pattern>
            </ele>
            <ele>
              <name>expires</name>
              <summary>Time the license expires</summary>
              <pattern><t>iso_time</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>appliance</name>
            <summary>Hardware and appliance information</summary>
            <pattern>
              <e>model</e>
              <e>model_type</e>
              <e>sensor</e>
            </pattern>
            <ele>
              <name>model</name>
              <summary>Appliance model, e.g. "one"</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>model_type</name>
              <summary>Appliance model type, e.g. "virtual" or "hardware"</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>sensor</name>
              <summary>Whether the license is applied to a sensor or not</summary>
              <pattern><t>boolean</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>keys</name>
            <summary>Base64 encoded access keys, e.g. feed keys</summary>
            <pattern>
              <any><e>key</e></any>
            </pattern>
            <ele>
              <name>key</name>
              <summary>A Base64 encoded access key</summary>
              <pattern>
                <attrib>
                  <name>name</name>
                  <summary>Name of the key</summary>
                  <type>text</type>
                </attrib>
                <t>text</t>
              </pattern>
            </ele>
          </ele>
          <ele>
            <name>signatures</name>
            <summary>Signatures of the license</summary>
            <pattern>
              <any><e>signature</e></any>
            </pattern>
            <ele>
              <name>signature</name>
              <summary>A signature info item</summary>
              <pattern>
                <attrib>
                  <name>name</name>
                  <summary>Name of the signature</summary>
                  <type>text</type>
                </attrib>
                <t>text</t>
              </pattern>
            </ele>
          </ele>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the current license</summary>
      <request>
        <get_license>
        </get_license>
      </request>
      <response>
        <get_license_response status="200" status_text="OK">
          <license>
            <status>active</status>
            <content>
              <meta>
                <id>4711</id>
                <version>1.0.0</version>
                <comment>Test License</comment>
                <type>trial</type>
                <customer_name>Jane Doe</customer_name>
                <created>2021-08-27T06:05:21Z</created>
                <begins>2021-08-27T07:05:21Z</begins>
                <expires>2021-09-04T07:05:21Z</expires>
              </meta>
              <appliance>
                <model>trial</model>
                <model_type>virtual</model_type>
                <sensor>0</sensor>
              </appliance>
              <keys>
                <key name="feed">*base64 GSF key*</key>
              </keys>
              <signatures>
                <signature name="license">*base64 signature*</signature>
              </signatures>
            </content>
          </license>
        </get_license_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_notes</name>
    <summary>Get one or many notes</summary>
    <description>
      The client uses the get_notes command to get note information.
      If the command sent by the client was valid, the manager will
      reply with a list of notes to the client.
    </description>
    <pattern>
      <attrib>
        <name>note_id</name>
        <summary>ID of single note to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <option>
            <name>task_id</name>
            <type>uuid</type>
            <summary>UUID of the Task the Note applies to</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>nvt</name>
            <type>text</type>
            <summary>Name of the NVT the Note applies to</summary>
          </column>
          <column>
            <name>text</name>
            <type>text</type>
            <summary>Text of the Note</summary>
          </column>
          <column>
            <name>nvt_id</name>
            <type>oid</type>
            <summary>OID of the NVT the Note applies to</summary>
          </column>
          <column>
            <name>task_name</name>
            <type>text</type>
            <summary>Name of the Task the Note applies to</summary>
          </column>
          <column>
            <name>hosts</name>
            <type>text</type>
            <summary>Hosts the Note applies to</summary>
          </column>
          <column>
            <name>port</name>
            <type>text</type>
            <summary>Port (location) the Note applies to</summary>
          </column>
          <column>
            <name>active</name>
            <type>boolean</type>
            <summary>Whether the Note is active</summary>
          </column>
          <column>
            <name>result</name>
            <type>uuid</type>
            <summary>UUID of the result the Note applies to</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Minimum severity of results the Note applies to</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>nvt_oid</name>
        <type>oid</type>
      </attrib>
      <attrib>
        <name>task_id</name>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include full details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>result</name>
        <type>boolean</type>
        <summary>Whether to include the associated result</summary>
        <description>Requires "details" to be true.</description>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>note</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>notes</e>
        <e>note_count</e>
      </pattern>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>notes</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First note</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of notes</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>note_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of notes after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of notes on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>note</name>
        <type>note</type>
      </ele>
    </response>
    <example>
      <summary>Get one or many notes</summary>
      <request>
        <get_notes></get_notes>
      </request>
      <response>
        <get_notes_response status="200" status_text="OK">
          <note id="b76b81a7-9df8-42df-afff-baa9d4620128">
            <nvt oid="1.3.6.1.4.1.25623.1.0.75">
              <name>Test NVT: long lines</name>
            </nvt>
            <creation_time>2013-01-09T09:47:41+01:00</creation_time>
            <modification_time>2013-01-09T09:47:41+01:00</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <active>1</active>
            <orphan>1</orphan>
            <text excerpt="0">This is the full text of the note.</text>
          </note>
          <truncated>...</truncated>
        </get_notes_response>
      </response>
    </example>
    <example>
      <summary>Get details of a single note and result to which it applies</summary>
      <request>
        <get_notes note_id="7f618bbb-4664-419e-9bbf-367d93954cb0" details="1" result="1">
        </get_notes>
      </request>
      <response>
        <get_notes_response status="200" status_text="OK">
          <note id="7f618bbb-4664-419e-9bbf-367d93954cb0">
            <nvt oid="1.3.6.1.4.1.25623.1.0.77">
              <name>Test NVT: control chars in report result</name>
            </nvt>
            <creation_time>2015-07-15T15:05:55Z</creation_time>
            <modification_time>2015-07-15T15:05:55Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <active>1</active>
            <end_time></end_time>
            <text>note fixed to result</text>
            <hosts>127.0.0.1</hosts>
            <port>general/tcp</port>
            <task id="40b236a9-2b0f-4813-b8c7-bc2b98d9d7e4">
              <name>test</name>
            </task>
            <orphan>0</orphan>
            <result id="0c95e6b3-1100-4dfd-88f1-4bed1fad29de">
              <host>127.0.0.1</host>
              <port>general/tcp</port>
              <nvt oid="1.3.6.1.4.1.25623.1.0.77">
                <name>Test NVT: control chars in report result</name>
                <cvss_base>5</cvss_base>
                <severities score="50"/>
                <cve></cve>
              </nvt>
              <threat>Medium</threat>
              <description>Warning with control char between fullstops: . .</description>
            </result>
          </note>
          <truncated>...</truncated>
        </get_notes_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_nvt_families</name>
    <summary>Get a list of all NVT families</summary>
    <description>
      <p>
        The client uses the get_nvt_families command to get NVT family
        information.  If the command sent by the client was valid, the
        manager will reply with a list of NVT families to the client.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>sort_order</name>
        <type>sort_order</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>families</e>
      </pattern>
      <ele>
        <name>families</name>
        <pattern><any><e>family</e></any></pattern>
        <ele>
          <name>family</name>
          <pattern>
            <e>name</e>
            <e>max_nvt_count</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the family</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>max_nvt_count</name>
            <summary>The number of NVTs in the family</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the NVT families</summary>
      <request>
        <get_nvt_families></get_nvt_families>
      </request>
      <response>
        <get_nvt_families_response status="200" status_text="OK">
          <families>
            <family>
              <name>Credentials</name>
              <max_nvt_count>8</max_nvt_count>
            </family>
            <family>
              <name>Port scanners</name>
              <max_nvt_count>12</max_nvt_count>
            </family>
            <truncated>...</truncated>
          </families>
        </get_nvt_families_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_nvts</name>
    <summary>Get one or many NVTs</summary>
    <description>
      <p>
        The client uses the get_nvts command to get NVT information.
      </p>
      <!-- TODO The RNC should specify that some flags require others. -->
      <p>
        This command may always include a details flag, a config, a sort
        order and a sort field.  If the command includes a details flag, the
        manager also consults the timeout, preference_count and preferences
        flags.
      </p>
      <p>
        The NVT OID, family name and config attributes limit the listing to
        a single NVT or all NVTs in a particular family and/or config.
      </p>
      <p>
        If the details flag is present the manager will send full details
        of the NVT, otherwise it will send just the NVT name.
      </p>
      <p>
        With the preferences flag the manager includes in the listing, the
        values of each listed NVT's preferences for the given config.  The
        timeout flag does the same for the special timeout preference.
        If the config contains no values for a preference, the default value
        of the preference is returned. The same applies if no config is given.
      </p>
      <p>
        If the manager possesses an NVT collection, it will reply with the
        NVT information.  If the manager cannot access a list of available
        NVTs at that time, it will reply with the 503 response.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>nvt_oid</name>
        <summary>Single NVT to get</summary>
        <type>oid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include full details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>lean</name>
        <summary>Whether to send fewer details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>preferences</name>
        <summary>Whether to include preference</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>preference_count</name>
        <summary>Whether to include preference count</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>skip_cert_refs</name>
        <summary>Whether to exclude refs of types cert-bund and dfn-cert</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>skip_tags</name>
        <summary>Whether to exclude user tags</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>timeout</name>
        <summary>Whether to include the special timeout preference</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>config_id</name>
        <summary>ID of config to which to limit the NVT listing</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>preferences_config_id</name>
        <summary>ID of config to use for preference values</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>family</name>
        <summary>Family to which to limit NVT listing</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>sort_order</name>
        <type>sort_order</type>
      </attrib>
      <attrib>
        <name>sort_field</name>
        <type>text</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>nvt</e>
      </pattern>
      <ele>
        <name>nvt</name>
        <pattern>
          <attrib>
            <name>oid</name>
            <type>oid</type>
            <required>1</required>
          </attrib>
          <e>name</e>
          <o><e>user_tags</e></o>
          <o><e>discovery</e></o>
          <o>
            <g>
              <e>creation_time</e>
              <e>modification_time</e>
              <e>category</e>
              <e>family</e>
              <e>cvss_base</e>
              <e>severities</e>
              <e>qod</e>
              <e>refs</e>
              <e>tags</e>
              <o><e>preference_count</e></o>
              <o><e>timeout</e></o>
              <o><e>default_timeout</e></o>
              <e>solution</e>
              <o><e>epss</e></o>
              <o><e>preferences</e></o>
            </g>
          </o>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the NVT</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>category</name>
          <summary>The category of the NVT</summary>
          <description>
            <p>0: init</p>
            <p>1: scanner</p>
            <p>2: settings</p>
            <p>3: infos</p>
            <p>4: attack</p>
            <p>5: mixed</p>
            <p>6: destructive attack</p>
            <p>7: denial</p>
            <p>8: kill host</p>
            <p>9: flood</p>
            <p>10: end</p>
            <p>11: unknown</p>
          </description>
          <pattern>
            <alts>
              <alt>0</alt>
              <alt>1</alt>
              <alt>2</alt>
              <alt>3</alt>
              <alt>4</alt>
              <alt>5</alt>
              <alt>6</alt>
              <alt>7</alt>
              <alt>8</alt>
              <alt>9</alt>
              <alt>10</alt>
              <alt>11</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>The creation time of the NVT</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>The modification time of the NVT</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the NVT</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>family</name>
          <summary>Name of the family the NVT belongs to</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>cvss_base</name>
          <summary>CVSS base score of the NVT</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>severities</name>
          <summary>Severity information of the NVT</summary>
          <type>severities</type>
        </ele>
        <ele>
          <name>qod</name>
          <summary>The quality of detection (QoD) of the NVT</summary>
          <pattern>
            <e>value</e>
            <e>type</e>
          </pattern>
          <ele>
            <name>value</name>
            <summary>The numeric QoD value</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>type</name>
            <summary>The QoD type</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
        <ele>
          <name>refs</name>
          <summary>List of references of various types for this vulnerability test</summary>
          <pattern>
            <any><e>ref</e></any>
            <o><e>warning</e></o>
          </pattern>
          <ele>
            <name>ref</name>
            <summary>A reference</summary>
            <pattern>
              <attrib>
                <name>id</name>
                <summary>ID of the reference</summary>
                <type>text</type>
              </attrib>
              <attrib>
                <name>type</name>
                <summary>Type of the reference, for example "cve", "dfn-cert", "cert-bund"</summary>
                <type>text</type>
              </attrib>
            </pattern>
          </ele>
          <ele>
            <name>warning</name>
            <summary>A warning message, e.g. when the CERT database is not available</summary>
            <pattern>
              text
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>tags</name>
          <summary>The tags of the NVT, separated by vertical bars</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>discovery</name>
          <summary>Whether the NVT is marked as a discovery NVT</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>preference_count</name>
          <summary>The number of preferences for the NVT</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>timeout</name>
          <summary>The timeout of the NVT</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>default_timeout</name>
          <summary>The default_timeout of the NVT</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>solution</name>
          <summary>Solution for the vulnerability</summary>
          <pattern>
            <attrib>
              <name>type</name>
              <summary>The solution type, for example "VendorFix"</summary>
              <type>text</type>
            </attrib>
            <attrib>
              <name>method</name>
              <summary>The solution method, for example "DebianAPTUpgrade"</summary>
              <type>text</type>
            </attrib>
            text
          </pattern>
        </ele>
        <ele>
          <name>epss</name>
          <summary>Exploit Prediction Scoring System (EPSS) info if available</summary>
          <pattern>
            <e>max_severity</e>
            <e>max_epss</e>
          </pattern>
          <ele>
            <name>max_severity</name>
            <summary>
              EPSS info of the referenced CVE with the highest severity
            </summary>
            <description>
              In case there are multiple CVEs referenced by the NVT tied for the
              highest severity, they are also sorted by EPSS score and modification
              time and the first one is chosen.
            </description>
            <pattern>
              <e>score</e>
              <e>percentile</e>
              <e>cve</e>
            </pattern>
            <ele>
              <name>score</name>
              <summary>EPSS score of the CVE</summary>
              <pattern>
                <t>decimal</t>
              </pattern>
            </ele>
            <ele>
              <name>percentile</name>
              <summary>EPSS percentile of the CVE</summary>
              <pattern>
                <t>decimal</t>
              </pattern>
            </ele>
            <ele>
              <name>cve</name>
              <summary>The representative CVE chosen</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <summary>CVE-ID of the CVE</summary>
                  <type>text</type>
                </attrib>
                <o><e>severity</e></o>
              </pattern>
              <ele>
                <name>severity</name>
                <summary>Severity (CVSS) score of the CVE if available</summary>
                <pattern>
                  <t>severity</t>
                </pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>max_epss</name>
            <summary>
              EPSS info of the referenced CVE with the highest EPSS score
            </summary>
            <description>
              In case there are multiple CVEs referenced by the NVT tied for the
              highest EPSS score, they are also sorted by severity and modification
              time and the first one is chosen.
            </description>
            <pattern>
              <e>score</e>
              <e>percentile</e>
              <e>cve</e>
            </pattern>
            <ele>
              <name>score</name>
              <summary>EPSS score of the CVE</summary>
              <pattern>
                <t>decimal</t>
              </pattern>
            </ele>
            <ele>
              <name>percentile</name>
              <summary>EPSS percentile of the CVE</summary>
              <pattern>
                <t>decimal</t>
              </pattern>
            </ele>
            <ele>
              <name>cve</name>
              <summary>The representative CVE chosen</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <summary>CVE-ID of the CVE</summary>
                  <type>text</type>
                </attrib>
                <o><e>severity</e></o>
              </pattern>
              <ele>
                <name>severity</name>
                <summary>Severity (CVSS) score of the CVE if available</summary>
                <pattern>
                  <t>severity</t>
                </pattern>
              </ele>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>preferences</name>
          <summary>List of preferences of the NVT</summary>
          <pattern>
            <e>timeout</e>
            <e>default_timeout</e>
            <any><e>preference</e></any>
            text
          </pattern>
          <ele>
            <name>timeout</name>
            <summary>The timeout of the NVT</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>default_timeout</name>
            <summary>The default timeout of the NVT</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>preference</name>
            <pattern>
              <e>nvt</e>
              <e>name</e>
              <e>hr_name</e>
              <e>id</e>
              <e>type</e>
              <e>value</e>
              <any><e>alt</e></any>
              <e>default</e>
            </pattern>
            <ele>
              <name>nvt</name>
              <summary>NVT to which preference applies</summary>
              <pattern>
                <attrib>
                  <name>oid</name>
                  <type>oid</type>
                  <required>1</required>
                </attrib>
                <e>name</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>The name of the NVT</summary>
                <pattern><t>name</t></pattern>
              </ele>
            </ele>
            <ele>
              <name>name</name>
              <summary>The name of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>hr_name</name>
              <summary>The human readable name of the preference</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>id</name>
              <summary>The ID of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>The type of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The value of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>alt</name>
              <summary>An alternate value of the preference</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>default</name>
              <summary>The default value of the preference</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get full NVT listing with details</summary>
      <request>
        <get_nvts details="1">
        </get_nvts>
      </request>
      <response>
        <get_nvts_response status="200" status_text="OK">
          <nvt oid="1.3.6.1.4.1.25623.1.7.13005">
            <name>Services</name>
            <creation_time>2011-01-14T10:12:23+01:00</creation_time>
            <modification_time>2012-09-19T20:56:15+02:00</modification_time>
            <category>3</category>
            <family>Service detection</family>
            <cvss_base></cvss_base>
            <severities score="0"/>
            <refs/>
            <tags>NOTAG</tags>
            <preference_count>-1</preference_count>
            <timeout></timeout>

            <preferences>
              <timeout></timeout>
              <preference>
                <nvt oid="1.3.6.1.4.1.25623.1.0.10330">
                  <name>Services</name>
                </nvt>
                <id>1</id>
                <name>Network connection timeout :</name>
                <type>entry</type>
                <value>5</value>
                <default>5</default>
              </preference>
              <truncated>...</truncated>
            </preferences>
            <discovery>1</discovery>
          </nvt>
          <nvt oid="1.3.6.1.4.1.25623.1.7.13006">
            <name>FooBar 21</name>
            <creation_time>2011-01-14T10:12:23+01:00</creation_time>
            <modification_time>2012-09-19T20:56:15+02:00</modification_time>
            <category>3</category>
            <description>This script detects whether the FooBar 2.1 XSS vulnerability is present.</description>
            <truncated>...</truncated>
            <discovery>0</discovery>
          </nvt>
          <truncated>...</truncated>
        </get_nvts_response>
      </response>
    </example>
    <example>
      <summary>Get minimal information about one NVT</summary>
      <request>
        <get_nvts nvt_oid="1.3.6.1.4.1.25623.1.0.10330">
        </get_nvts>
      </request>
      <response>
        <get_nvts_response status="200" status_text="OK">
          <nvt oid="1.3.6.1.4.1.25623.1.0.10330">
            <name>Services</name>
            <discovery>0</discovery>
          </nvt>
        </get_nvts_response>
      </response>
    </example>
  </command>
  @IF_ENABLE_CONTAINER_SCANNNING@
  <command>
    <name>get_oci_image_targets</name>
    <summary>Get one or many OCI image targets</summary>
    <description>
      The client uses the get_oci_image_targets command to get oci
      image targets information.
    </description>
    <pattern>
      <attrib>
        <name>oci_image_target_id</name>
        <summary>ID of single OCI image target to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>image_references</name>
            <type>text</type>
            <summary>Comma-separated list of image references</summary>
          </column>
          <column>
            <name>exclude_images</name>
            <type>text</type>
            <summary>Comma-separated list of excluded images</summary>
          </column>          
          <column>
            <name>credential_name</name>
            <type>name</type>
            <summary>Name of the credential</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan OCI image targets instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>tasks</name>
        <summary>Whether to include list of tasks that use the OCI image target</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include details</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>oci_image_target</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>oci_image_targets</e>
        <e>oci_image_target_count</e>
      </pattern>
      <ele>
        <name>oci_image_target</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>image_refrences</e>
          <e>exclude_images</e>
          <e>credential</e>
          <o><e>tasks</e></o>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the OCI image target</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the OCI image target</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the OCI image target</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the target was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the target was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>image_refrences</name>
          <summary>A list of OCI image refrences</summary>
          <pattern>
            text
          </pattern>
        </ele>
         <ele>
          <name>exclude_images</name>
          <summary>A list of images to exclude</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the target is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any tasks are using the OCI image target</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the OCI image target
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the OCI image target</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>credential</name>
          <pattern>
            <attrib>
              <name>id</name>
              <comment>
                A UUID if there is a credential, otherwise the empty string
              </comment>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the credential</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the credential</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the credential is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>tasks</name>
          <summary>All tasks using the OCI image target</summary>
          <pattern>
            <any><e>task</e></any>
          </pattern>
          <ele>
            <name>task</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the task</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the task</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>oci_image_targets</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First target</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of OCI image targets</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>oci_image_target_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of OCI image targets after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of OCI image targets on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many OCI Image targets</summary>
      <request>
        <get_oci_image_targets></get_oci_image_targets>
      </request>
      <response>
        <get_oci_image_targets_response status="200" status_text="OK">
          <oci_image_target id="b493b7a8-7489-11df-a3ec-002264764cea">
            <name>OCI image target</name>
            <comment></comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>0</writable>
            <in_use>7</in_use>
            <image_references>oci://myregistry/my/image:mytag1,oci://myregistry/my/image:mytag2</image_references>
            <credential id="">
              <name></name>
            </credential>
          </oci_image_target>
          <truncated>...</truncated>
        </get_oci_image_targets_response>
      </response>
    </example>
    <example>
      <summary>Get a single OCI image target, including tasks using the target</summary>
      <request>
        <get_oci_image_targets oci_image_target_id="1f28d970-17ef-4c69-ba8a-13827059f2b9" tasks="1">
        </get_oci_image_targets>
      </request>
      <response>
        <get_oci_image_targets_response status="200" status_text="OK">
          <oci_image_target id="1f28d970-17ef-4c69-ba8a-13827059f2b9">
            <name>dik</name>
            <comment>dik mm</comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>0</writable>
            <in_use>4</in_use>
            <image_references>oci://myregistry/my/image:mytag1,oci://myregistry/my/image:mytag2</image_references>
            <credential id="">
              <name></name>
            </credential>
            <tasks>
              <task id="13bb418a-4220-4575-b35b-ec398bff7417">
                <name>dik mm</name>
              </task>
              <truncated>...</truncated>
            </tasks>
          </oci_image_target>
        </get_oci_image_targets_response>
      </response>
    </example>
  </command>
  @ENDIF_ENABLE_CONTAINER_SCANNNING@
  <command>
    <name>get_overrides</name>
    <summary>Get one or many overrides</summary>
    <description>
      The client uses the get_overrides command to get override information.
      If the command sent by the client was valid, the manager will
      reply with a list of overrides to the client.
    </description>
    <pattern>
      <attrib>
        <name>override_id</name>
        <summary>ID of single override to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <option>
            <name>task_id</name>
            <type>uuid</type>
            <summary>UUID of the Task the Override applies to</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>nvt</name>
            <type>text</type>
            <summary>Name of the NVT the Override applies to</summary>
          </column>
          <column>
            <name>text</name>
            <type>text</type>
            <summary>Text of the Override</summary>
          </column>
          <column>
            <name>nvt_id</name>
            <type>oid</type>
            <summary>OID of the NVT the Override applies to</summary>
          </column>
          <column>
            <name>task_name</name>
            <type>text</type>
            <summary>Name of the Task the Override applies to</summary>
          </column>
          <column>
            <name>hosts</name>
            <type>text</type>
            <summary>Hosts the Override applies to</summary>
          </column>
          <column>
            <name>port</name>
            <type>text</type>
            <summary>Port (location) the Override applies to</summary>
          </column>
          <column>
            <name>threat</name>
            <type>threat</type>
            <summary>Minimum severity level the Override applies to</summary>
          </column>
          <column>
            <name>new_threat</name>
            <type>threat</type>
            <summary>Severity level results are changed to by the Override</summary>
          </column>
          <column>
            <name>active</name>
            <type>boolean</type>
            <summary>Whether the Override is active</summary>
          </column>
          <column>
            <name>result</name>
            <type>uuid</type>
            <summary>UUID of the result the Override applies to</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Minimum severity of results the Override applies to</summary>
          </column>
          <column>
            <name>new_severity</name>
            <type>severity</type>
            <summary>Severity level results are changed to by the Override</summary>
          </column>
          <column>
            <name>active_days</name>
            <type>integer</type>
            <summary>Number of days the override will still be active</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>nvt_oid</name>
        <type>oid</type>
      </attrib>
      <attrib>
        <name>task_id</name>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include full details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>result</name>
        <type>boolean</type>
        <summary>Whether to include the associated result</summary>
        <description>Requires "details" to be true.</description>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>override</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>overrides</e>
        <e>override_count</e>
      </pattern>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>overrides</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First override</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of overrides</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>override_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of overrides after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of overrides on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>override</name>
        <type>override</type>
      </ele>
    </response>
    <example>
      <summary>Get one or many overrides</summary>
      <request>
        <get_overrides></get_overrides>
      </request>
      <response>
        <get_overrides_response status="200" status_text="OK">
          <override id="b76b81a7-9df8-42df-afff-baa9d4620128">
            <nvt oid="1.3.6.1.4.1.25623.1.0.75">
              <name>Test NVT: long lines</name>
            </nvt>
            <creation_time>2013-01-09T09:50:10+01:00</creation_time>
            <modification_time>2013-01-09T09:50:10+01:00</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <active>1</active>
            <text excerpt="0">This is the full text of the override.</text>
            <new_threat>Log</new_threat>
            <new_severity>0.0</new_severity>
            <orphan>1</orphan>
          </override>
          <truncated>...</truncated>
        </get_overrides_response>
      </response>
    </example>
    <example>
      <summary>Get details of a single override</summary>
      <request>
        <get_overrides override_id="7f618bbb-4664-419e-9bbf-367d93954cb0" details="1">
        </get_overrides>
      </request>
      <response>
        <get_overrides_response status="200" status_text="OK">
          <override id="7f618bbb-4664-419e-9bbf-367d93954cb0">
            <nvt oid="1.3.6.1.4.1.25623.1.0.77">
              <name>Test NVT: control chars in report result</name>
            </nvt>
            <creation_time>2015-07-15T15:05:55Z</creation_time>
            <modification_time>2015-07-15T15:05:55Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <active>1</active>
            <end_time></end_time>
            <text>override fixed to result</text>
            <hosts>127.0.0.1</hosts>
            <port>general/tcp</port>
            <threat>Medium</threat>
            <new_threat>Low</new_threat>
            <new_severity>2.0</new_severity>
            <task id="40b236a9-2b0f-4813-b8c7-bc2b98d9d7e4">
              <name>test</name>
            </task>
            <orphan>0</orphan>
            <result id="0c95e6b3-1100-4dfd-88f1-4bed1fad29de" />
          </override>
          <truncated>...</truncated>
        </get_overrides_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_permissions</name>
    <summary>Get one or many permissions</summary>
    <description>
      The client uses the get_permissions command to get permission information.
    </description>
    <pattern>
      <attrib>
        <name>permission_id</name>
        <summary>ID of single permission to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>type</name>
            <type>text</type>
            <summary>The resource type the permission is for</summary>
          </column>
          <column>
            <name>resource_uuid</name>
            <type>text</type>
            <summary>UUID of the resource the permission is for</summary>
          </column>
          <column>
            <name>subject_type</name>
            <type>text</type>
            <summary>Type of the subject of the permission</summary>
          </column>
          <column>
            <name>subject</name>
            <type>text</type>
            <summary>Name of the subject of the permission</summary>
          </column>
          <column>
            <name>resource</name>
            <type>text</type>
            <summary>Name of the resource the permission is for</summary>
          </column>
          <column>
            <name>subject_uuid</name>
            <type>text</type>
            <summary>UUID of the subject of the permission</summary>
          </column>
          <column>
            <name>orphan</name>
            <type>boolean</type>
            <summary>Whether the resource of the permission is in the trashcan</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan permissions instead</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>permission</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>permissions</e>
        <e>permission_count</e>
      </pattern>
      <ele>
        <name>permission</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>

          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>resource</e>
          <e>subject</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the permission</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the permission</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the permission</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the permission was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the permission was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>resource</name>
          <summary>The resource the permission applies to</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <summary>UUID if permission applies to a resource, else 0</summary>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>type</e>
            <e>trash</e>
            <e>deleted</e>
          </pattern>
          <ele>
            <name>name</name>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the resource</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>type</name>
            <summary>The GMP type of the resource</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the resource is in the trash</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
          <ele>
            <name>deleted</name>
            <summary>Whether the resource has been deleted</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>subject</name>
          <summary>The subject the permission applies to</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <summary>UUID of the subject</summary>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>type</e>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the subject</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>type</name>
            <summary>The GMP type of the subject: group, role or user</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the subject is in the trash</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
          <ele>
            <name>deleted</name>
            <summary>Whether the subject has been deleted</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the permission is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether the permission is in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the permission
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the permission</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>permissions</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First permission</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of permissions</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>permission_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of permissions after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of permissions on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many permissions</summary>
      <request>
        <get_permissions></get_permissions>
      </request>
      <response>
        <get_permissions_response status="200" status_text="OK">
          <permission id="b493b7a8-7489-11df-a3ec-002264764cea">
            <name>Management</name>
            <comment>Managers</comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <users>sarah, frank</users>
          </permission>
          <truncated>...</truncated>
          <filters id="">
            <term>first=1 rows=-1 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <truncated>...</truncated>
            </keywords>
          </filters>
          <sort>
            <field>
              name
              <order>ascending</order>
            </field>
          </sort>
          <permissions max="-1" start="1"></permissions>
          <permission_count>
            1
            <filtered>1</filtered>
            <page>1</page>
          </permission_count>
        </get_permissions_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_port_lists</name>
    <summary>Get one or many port lists</summary>
    <description>
      <p>
        The client uses the get_port_lists command to get port list
        information.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>port_list_id</name>
        <summary>ID of single port list to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>total</name>
            <type>integer</type>
            <summary>Total number of ports in the Port List</summary>
          </column>
          <column>
            <name>tcp</name>
            <type>integer</type>
            <summary>Number of TCP ports in the Port List</summary>
          </column>
          <column>
            <name>udp</name>
            <type>integer</type>
            <summary>Number of UDP ports in the Port List</summary>
          </column>
          <column>
            <name>predefined</name>
            <type>boolean</type>
            <summary>Whether the Port List was created from the feed</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include full port list details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>targets</name>
        <summary>Whether to include targets using this port list</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan port lists instead</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>port_list</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>port_lists</e>
        <e>port_list_count</e>
      </pattern>
      <ele>
        <name>port_list</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>port_count</e>
          <o><e>port_ranges</e></o>
          <o><e>targets</e></o>
          <e>predefined</e>
          <o><e>deprecated</e></o>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the port list</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the port list</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the port list</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the port list is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any targets are using the port list</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the port list
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the port list</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>port_count</name>
          <pattern>
            <e>all</e>
            <e>tcp</e>
            <e>udp</e>
          </pattern>
          <ele>
            <name>all</name>
            <summary>Total number of ports</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tcp</name>
            <summary>Total number of TCP ports</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>udp</name>
            <summary>Total number of UDP ports</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>port_ranges</name>
          <pattern>
            <any><e>port_range</e></any>
          </pattern>
          <ele>
            <name>port_range</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>start</e>
              <e>end</e>
              <e>type</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>start</name>
              <summary>First port in range</summary>
              <pattern><t>integer</t></pattern>
            </ele>
            <ele>
              <name>end</name>
              <summary>Last port in range</summary>
              <pattern><t>integer</t></pattern>
            </ele>
            <ele>
              <name>type</name>
              <summary>The type of port: TCP, UDP, ...</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>The comment on the port range</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>targets</name>
          <summary>The targets using the port list</summary>
          <pattern>
            <any><e>target</e></any>
          </pattern>
          <ele>
            <name>target</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the target</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the target</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>predefined</name>
          <summary>Whether the port list was predefined by the feed</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>deprecated</name>
          <summary>Whether the port list is deprecated</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>port_lists</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First port list</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of port lists</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>port_list_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of port lists after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of port lists on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Export a port list</summary>
      <request>
        <get_port_lists port_list_id="b993b6f5-f9fb-4e6e-9c94-dd46c00e058d"
                        details="1" targets="1">
        </get_port_lists>
      </request>
      <response>
        <get_port_lists_response status="200" status_text="OK">
          <port_list id="b993b6f5-f9fb-4e6e-9c94-dd46c00e058d">
            <name>All TCP</name>
            <comment>Every single TCP port.</comment>
            <creation_time>2012-12-31T16:38:45+01:00</creation_time>
            <modification_time>2012-12-31T16:38:45+01:00</modification_time>
            <writable>0</writable>
            <in_use>1</in_use>
            <port_count>
              <all>65535</all>
              <tcp>65535</tcp>
              <udp>0</udp>
            </port_count>
            <port_ranges>
              <port_range>
                <type>TCP</type>
                <start>1</start>
                <end>65535</end>
              </port_range>
            </port_ranges>
            <targets>
              <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9">
                <name>Web server</name>
              </target>
            </targets>
          </port_list>
        </get_port_lists_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_preferences</name>
    <summary>Get one or many preferences</summary>
    <description>
      <p>
        The client uses the get_preferences command to get preference information.
        If the command sent by the client was valid, the manager will reply with
        a list of preferences to the client.  If the manager cannot access a list
        of available NVTs at present, it will reply with the 503 response.
      </p>
      <p>
        When the command includes a config_id attribute, the preference element
        includes the preference name, type and value, and the NVT to which the
        preference applies.  Otherwise, the preference element includes just the
        name and value, with the NVT and type built into the name.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>nvt_oid</name>
        <type>oid</type>
      </attrib>
      <attrib>
        <name>config_id</name>
        <summary>ID of config of which to show preference values</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>preference</name>
        <summary>The name of a particular preference to get</summary>
        <type>text</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>preference</e></any>
      </pattern>
      <ele>
        <name>preference</name>
        <pattern>
          <e>nvt</e>
          <e>name</e>
          <e>id</e>
          <e>type</e>
          <e>value</e>
          <any><e>alt</e></any>
          <e>default</e>
        </pattern>
        <ele>
          <name>nvt</name>
          <summary>NVT to which preference applies</summary>
          <pattern>
            <attrib>
              <name>oid</name>
              <type>oid</type>
              <required>1</required>
            </attrib>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the NVT</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the preference</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>id</name>
          <summary>The ID of the preference</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>type</name>
          <summary>The type of the preference</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <summary>The value of the preference</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>alt</name>
          <summary>An alternate value of the preference</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>default</name>
          <summary>The default value of the preference</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get default preferences for all NVTs</summary>
      <request>
        <get_preferences></get_preferences>
      </request>
      <response>
        <get_preferences_response status="200" status_text="OK">
          <preference>
            <name>1.3.6.1.4.1.25623.1.0.10330:1:entry:Network connection timeout :</name>
            <value>5</value>
          </preference>
          <truncated>...</truncated>
        </get_preferences_response>
      </response>
    </example>
    <example>
      <summary>Get default preferences for a single NVT</summary>
      <request>
        <get_preferences nvt_oid="1.3.6.1.4.1.25623.1.0.10330">
        </get_preferences>
      </request>
      <response>
        <get_preferences_response status="200" status_text="OK">
          <preference>
            <name>1.3.6.1.4.1.25623.1.0.10330:1:entry:Network connection timeout :</name>
            <value>5</value>
            <default>5</default>
          </preference>
          <truncated>...</truncated>
        </get_preferences_response>
      </response>
    </example>
    <example>
      <summary>Get preferences from a config for all NVTs</summary>
      <request>
        <get_preferences config_id="daba56c8-73ec-11df-a475-002264764cea">
        </get_preferences>
      </request>
      <response>
        <get_preferences_response status="200" status_text="OK">
          <preference>
            <nvt oid="1.3.6.1.4.1.25623.1.0.10330">
              <name>Services</name>
            </nvt>
            <id>1</id>
            <name>Network connection timeout :</name>
            <type>entry</type>
            <value>5</value>
          </preference>
          <truncated>...</truncated>
        </get_preferences_response>
      </response>
    </example>
    <example>
      <summary>Get preferences from a config for a single NVT</summary>
      <request>
        <get_preferences config_id="daba56c8-73ec-11df-a475-002264764cea"
                         nvt_oid="1.3.6.1.4.1.25623.1.0.10330">
        </get_preferences>
      </request>
      <response>
        <get_preferences nvt_oid="1.3.6.1.4.1.25623.1.0.10330">
          <preference>
            <nvt oid="1.3.6.1.4.1.25623.1.0.10330">
              <name>Services</name>
            </nvt>
            <id>1</id>
            <name>Network connection timeout :</name>
            <type>entry</type>
            <value>5</value>
            <default>5</default>
          </preference>
        </get_preferences>
      </response>
    </example>
  </command>
  <command>
    <name>get_report_configs</name>
    <summary>Get one or many report configs</summary>
    <description>
      <p>
        The client uses the get_report_configs command to get report config
        information.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>report_config_id</name>
        <summary>ID of single report config to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan report configs instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Include report config details</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>report_config</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>report_configs</e>
        <e>report_config_count</e>
      </pattern>
      <ele>
        <name>report_config</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>report_format</e>
          <o><e>orphan</e></o>
          <any><e>param</e></any>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the report config</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the report config</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment of the report config</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the report config is global or in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any alerts are using the report config</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the report config
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the report config</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>report_format</name>
          <summary>Report format the config will provide params for</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <summary>UUID of the report format</summary>
              <required>1</required>
            </attrib>
            <o><e>name</e></o>
            <o><e>permissions</e></o>
          </pattern>
          <ele>
            <name>name</name>
            <summary>Name of the report format if it exists</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the report format</summary>
            <pattern></pattern>
          </ele>
        </ele>
        <ele>
          <name>orphan</name>
          <summary>Whether the report format of the config is missing</summary>
          <pattern>
            <t>boolean</t>
          </pattern>
        </ele>
        <ele>
          <name>param</name>
          <pattern>
            <e>name</e>
            <e>type</e>
            <e>value</e>
            <e>default</e>
            <o><e>options</e></o>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the param</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>type</name>
            <summary>The type of the param</summary>
            <pattern>
              <o><e>min</e></o>
              <o><e>max</e></o>
              <alts>
                <alt>boolean</alt>
                <alt>integer</alt>
                <alt>multi_selection</alt>
                <alt>selection</alt>
                <alt>string</alt>
                <alt>text</alt>
                <alt>report_format_list</alt>
              </alts>
            </pattern>
            <ele>
              <name>min</name>
              <summary>Minimum</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>max</name>
              <summary>Maximum</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
          <ele>
            <name>value</name>
            <summary>The value of the param</summary>
            <pattern>
              <attrib>
                <name>using_default</name>
                <summary>Whether this is the default value</summary>
                <type>boolean</type>
                <required>1</required>
              </attrib>
              <any><e>report_format</e></any>
            </pattern>
            <ele>
              <name>report_format</name>
              <summary>Report format info if type is report_format_list</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>name</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>Name of the report format if available</summary>
                <pattern>text</pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>default</name>
            <summary>The fallback value of the param</summary>
            <pattern>
              text
              <any><e>report_format</e></any>
            </pattern>
            <ele>
              <name>report_format</name>
              <summary>Report format info if type is report_format_list</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>name</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>Name of the report format if available</summary>
                <pattern>text</pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>options</name>
            <summary>Selection options</summary>
            <pattern><any><e>option</e></any></pattern>
            <ele>
              <name>option</name>
              <summary>Option value</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>file</name>
          <summary>One of the files used to generate the report</summary>
          <pattern>
            <attrib>
              <name>name</name>
              <type>text</type>
              <required>1</required>
            </attrib>
            <t>base64</t>
          </pattern>
        </ele>
        <ele>
          <name>signature</name>
          <summary>The report format signature</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>report_configs</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First report config</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of report configs</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>report_config_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of report configs after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of report configs on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get information about a report config</summary>
      <request>
        <get_report_configs report_config_id="c6bab6c3-2b82-4a19-837d-7537d5de2224">
        </get_report_configs>
      </request>
      <response>
        <get_report_configs_response status="200" status_text="OK">
          <report_config id="c6bab6c3-2b82-4a19-837d-7537d5de2224">
            <owner>
              <name>admin</name>
            </owner>
            <name>Test config</name>
            <comment>Test comment</comment>
            <creation_time>2024-01-23T09:43:03Z</creation_time>
            <modification_time>2024-01-26T14:11:54Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <report_format id="9e5e5deb-879e-4ecc-8be6-a71cd0875cdd">
              <name>Topology SVG</name>
            </report_format>
            <param using_default="0">
              <name>Graph Type</name>
              <type>selection</type>
              <value>dot</value>
              <default>twopi</default>
              <options>
                <option>circo</option>
                <option>dot</option>
                <option>twopi</option>
              </options>
            </param>
            <param using_default="1">
              <name>Node Distance</name>
              <type>integer<min>1</min><max>20</max></type>
              <value>8</value>
              <default>8</default>
            </param>
          </report_config>
          <truncated> ... </truncated>
        </get_report_configs_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_report_formats</name>
    <summary>Get one or many report formats</summary>
    <description>
      <p>
        The client uses the get_report_formats command to get report format
        information.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>report_format_id</name>
        <summary>ID of single report format to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>extension</name>
            <type>text</type>
            <summary>File extension of the report format</summary>
          </column>
          <column>
            <name>content_type</name>
            <type>text</type>
            <summary>Content type of the report format</summary>
          </column>
          <column>
            <name>summary</name>
            <type>text</type>
            <summary>Short summary of the report format</summary>
          </column>
          <column>
            <name>description</name>
            <type>text</type>
            <summary>Description of the report format</summary>
          </column>
          <column>
            <name>trust</name>
            <type>boolean</type>
            <summary>Whether the report format is trusted</summary>
          </column>
          <column>
            <name>trust_time</name>
            <type>iso_time</type>
            <summary>Time the report format was last verified</summary>
          </column>
          <column>
            <name>active</name>
            <type>boolean</type>
            <summary>Whether the report format is active</summary>
          </column>
          <column>
            <name>predefined</name>
            <type>boolean</type>
            <summary>Whether the report format was created from the feed</summary>
          </column>
          <column>
            <name>report_type</name>
            <type>
              <alts>
                <alt>scan</alt>
                <alt>audit</alt>
                <alt>all</alt>
              </alts>
            </type>
            <summary>The type of the report compatible with the report format</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan report formats instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>alerts</name>
        <summary>Whether to include alerts that use the report format</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>params</name>
        <summary>Whether to include report format parameters</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>report_configs</name>
        <summary>Whether to include report configs that use the report format</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Include report format file, signature and parameters</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>report_format</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>report_formats</e>
        <e>report_format_count</e>
      </pattern>
      <ele>
        <name>report_format</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>extension</e>
          <e>content_type</e>
          <e>summary</e>
          <e>description</e>
          <o><e>alerts</e></o>
          <o><e>invisible_alerts</e></o>
          <o><e>report_configs</e></o>
          <o><e>invisible_report_configs</e></o>
          <o>
            <g>
              <any><e>file</e></any>
              <e>signature</e>
            </g>
          </o>
          <e>trust</e>
          <e>active</e>
          <e>predefined</e>
          <e>configurable</e>
          <e>report_type</e>
          <o><e>deprecated</e></o>
          <any><e>param</e></any>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the report format</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the report format</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the report format is global or in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any alerts are using the report format</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the report format
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the report format</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>summary</name>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>description</name>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>extension</name>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>content_type</name>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>alerts</name>
          <summary>Alerts using the report format</summary>
          <pattern>
            <any><e>alert</e></any>
          </pattern>
          <ele>
            <name>alert</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the alert</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the alert</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>invisible_alerts</name>
          <summary>Number of alerts only visible to other users</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>report_configs</name>
          <summary>Report configs using the report format</summary>
          <pattern>
            <any><e>report_config</e></any>
          </pattern>
          <ele>
            <name>report_config</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the report config</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the report config</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>invisible_report_configs</name>
          <summary>Number of report configs only visible to other users</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>param</name>
          <pattern>
            <e>name</e>
            <e>type</e>
            <e>value</e>
            <e>default</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the param</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>type</name>
            <summary>The type of the param</summary>
            <pattern>
              <o><e>min</e></o>
              <o><e>max</e></o>
              <o><e>options</e></o>
              <alts>
                <alt>boolean</alt>
                <alt>integer</alt>
                <alt>multi_selection</alt>
                <alt>selection</alt>
                <alt>string</alt>
                <alt>text</alt>
                <alt>report_format_list</alt>
              </alts>
            </pattern>
            <ele>
              <name>min</name>
              <summary>Minimum</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>max</name>
              <summary>Maximum</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>options</name>
              <summary>Selection options</summary>
              <pattern><any><e>option</e></any></pattern>
              <ele>
                <name>option</name>
                <summary>Option value</summary>
                <pattern>text</pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>value</name>
            <summary>The value of the param</summary>
            <pattern>
              <any><e>report_format</e></any>
            </pattern>
            <ele>
              <name>report_format</name>
              <summary>Report format info if type is report_format_list</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>name</e>
              </pattern>
              <ele>
                <name>name</name>
                <summary>Name of the report format if available</summary>
                <pattern>text</pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>default</name>
            <summary>The fallback value of the param</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
        <ele>
          <name>file</name>
          <summary>One of the files used to generate the report</summary>
          <pattern>
            <attrib>
              <name>name</name>
              <type>text</type>
              <required>1</required>
            </attrib>
            <t>base64</t>
          </pattern>
        </ele>
        <ele>
          <name>signature</name>
          <summary>The report format signature</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>trust</name>
          <summary>Whether signature verification succeeded</summary>
          <pattern>
            <attrib>
              <name>name</name>
              <type>text</type>
              <required>1</required>
            </attrib>
            <e>time</e>
            <alts>
              <alt>yes</alt>
              <alt>no</alt>
              <alt>unknown</alt>
            </alts>
          </pattern>
          <ele>
            <name>time</name>
            <summary>The time the trust was checked</summary>
            <pattern><t>iso_time</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>active</name>
          <summary>Whether the report format is active</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>predefined</name>
          <summary>Whether the report format was predefined by the feed</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>configurable</name>
          <summary>Whether the report format can be used with a report config</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>report_type</name>
          <summary>The type of the report compatible with the report format</summary>
          <pattern>
            <alts>
              <alt>scan</alt>
              <alt>audit</alt>
              <alt>all</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>deprecated</name>
          <summary>Whether the report format is deprecated</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>report_formats</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First report format</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of report formats</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>report_format_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of report formats after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of report formats on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get information about a report format</summary>
      <request>
        <get_report_formats report_format_id="b993b6f5-f9fb-4e6e-9c94-dd46c00e058d">
        </get_report_formats>
      </request>
      <response>
        <get_report_formats_response status="200" status_text="OK">
          <report_format id="b993b6f5-f9fb-4e6e-9c94-dd46c00e058d">
            <name>HTML</name>
            <creation_time>2013-01-31T16:46:32+01:00</creation_time>
            <modification_time>2013-01-31T16:46:32+01:00</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <extension>html</extension>
            <content_type>text/html</content_type>
            <summary>Single page HTML report.</summary>
            <description>
              A single HTML page listing results of a scan.  Style information
              <truncated>...</truncated>
            </description>
            <trust>
              no
              <time>Thu Dec  2 13:22:26 2010</time>
            </trust>
            <active>1</active>
          </report_format>
          <truncated> ... </truncated>
        </get_report_formats_response>
      </response>
    </example>
    <example>
      <summary>Export a report format</summary>
      <request>
        <get_report_formats report_format_id="b993b6f5-f9fb-4e6e-9c94-dd46c00e058d"
                            details="1">
        </get_report_formats>
      </request>
      <response>
        <get_report_formats_response status="200" status_text="OK">
          <report_format id="b993b6f5-f9fb-4e6e-9c94-dd46c00e058d">
            <name>HTML</name>
            <comment></comment>
            <creation_time>2013-01-18T18:23:53+01:00</creation_time>
            <modification_time>2013-01-18T18:24:10+01:00</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <extension>html</extension>
            <content_type>text/html</content_type>
            <summary>Single page HTML report.</summary>
            <description>
              A single HTML page listing results of a scan.  Style information
              <truncated>...</truncated>
            </description>
            <file name="HTML.xsl">
              PD9ldD4K
              <truncated>...</truncated>
            </file>
            <file name="generate">
              IyEvAk
              <truncated>...</truncated>
            </file>
            <signature></signature>
          </report_format>
          <truncated>...</truncated>
        </get_report_formats_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_reports</name>
    <summary>Get one or many reports</summary>
    <description>
      <p>
        The client uses the get_reports command to get report information.
      </p>
      <p>
        The XML report format is sent as XML.  All other formats are sent in
        Base64 encoding.
      </p>
      <p>
        The "lean" attribute requests a reduced report.  This option is
        specifically to support GSA performance when loading big reports, so
        the effect of "lean" may change between versions, even between minor
        versions.
      </p>
      <p>
        Currently "lean" skips certain result elements (MODIFICATION_TIME,
        SCAN_NVT_VERSION, THREAT, ORIGINAL_THREAT), skips SOURCE/TYPE of host
        details, skips certain host details ("EXIT_CODE" when equal to
        "EXIT_NONVULN", "scanned_with_scanner", "scanned_with_feedtype",
        "scanned_with_feedversion", "OS" and "traceroute"), skips certain
        elements when they are empty (REFS, QOD/TYPE, ...), and skips
        ORIGINAL_SEVERITY when it is the same as SEVERITY.
      </p>
      <p>
        "lean" will always work with the XML report format, but will not
        necessarily work with any others.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>report_id</name>
        <summary>ID of single report to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter results, when getting a single report</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <option>
            <name>apply_overrides</name>
            <type>boolean</type>
            <summary>Whether to apply Overrides</summary>
          </option>
          <option>
            <name>compliance_levels</name>
            <type>compliance_levels</type>
            <summary>Compliance levels to select</summary>
          </option>
          <option>
            <name>delta_states</name>
            <type>delta_states</type>
            <summary>States to select in a delta report</summary>
          </option>
          <option>
            <name>levels</name>
            <type>levels</type>
            <summary>Severity levels to select</summary>
          </option>
          <option>
            <name>min_qod</name>
            <type>integer</type>
            <summary>Minimum QoD of the results</summary>
          </option>
          <option>
            <name>notes</name>
            <type>boolean</type>
            <summary>Whether to include Notes in the report</summary>
          </option>
          <option>
            <name>overrides</name>
            <type>boolean</type>
            <summary>Whether to include Override descriptions in the report</summary>
          </option>
          <option>
            <name>timezone</name>
            <type>text</type>
            <summary>The timezone to use for the report</summary>
          </option>
          <column>
          <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name of the NVT</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>compliant</name>
            <type>
              <alts>
                <alt>yes</alt>
                <alt>no</alt>
                <alt>incomplete</alt>
                <alt>undefined</alt>
              </alts>
            </type>
            <summary>Compliance status</summary>
          </column>
          <column>
            <name>host</name>
            <type>text</type>
            <summary>Host IP address of the result</summary>
          </column>
          <column>
            <name>hostname</name>
            <type>text</type>
            <summary>Hostname of the result</summary>
          </column>
          <column>
            <name>location</name>
            <type>text</type>
            <summary>Port and protocol of the result</summary>
          </column>
          <column>
            <name>path</name>
            <type>text</type>
            <summary>The local path on the host, e.g. a file location</summary>
          </column>
          <column>
            <name>nvt</name>
            <type>text</type>
            <summary>Unique ID of the test that produced the result</summary>
          </column>
          <column>
            <name>type</name>
            <type>threat</type>
            <summary>Severity type of the result with overrides</summary>
          </column>
          <column>
            <name>original_type</name>
            <type>threat</type>
            <summary>Original severity type of the result</summary>
          </column>
          <column>
            <name>description</name>
            <type>text</type>
            <summary>Description of the result</summary>
          </column>
          <column>
            <name>task</name>
            <type>text</type>
            <summary>Name of the task</summary>
          </column>
          <column>
            <name>report</name>
            <type>number</type>
            <summary>Internal ID of the report</summary>
          </column>
          <column>
            <name>cvss_base</name>
            <type>severity</type>
            <summary>CVSS base score of the NVT that generated the result</summary>
          </column>
          <column>
            <name>nvt_version</name>
            <type>text</type>
            <summary>Version of the NVT that generated the result</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Severity of the result with overrides</summary>
          </column>
          <column>
            <name>original_severity</name>
            <type>severity</type>
            <summary>Original severity of the result</summary>
          </column>
          <column>
            <name>vulnerability</name>
            <type>text</type>
            <summary>Name of the NVT that generated result</summary>
          </column>
          <column>
            <name>date</name>
            <type>iso_time</type>
            <summary>Time the result was generated</summary>
          </column>
          <column>
            <name>report_id</name>
            <type>uuid</type>
            <summary>UUID of the report</summary>
          </column>
          <column>
            <name>solution_type</name>
            <type>text</type>
            <summary>Solution type of the result</summary>
          </column>
          <column>
            <name>qod</name>
            <type>integer</type>
            <summary>QoD of the result</summary>
          </column>
          <column>
            <name>qod_type</name>
            <type>text</type>
            <summary>QoD type of the result</summary>
          </column>
          <column>
            <name>task_id</name>
            <type>uuid</type>
            <summary>UUID of the task</summary>
          </column>
          <column>
            <name>cve</name>
            <type>text</type>
            <summary>List of CVEs of the result</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter results, when getting a single report</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>report_filter</name>
        <summary>Filter term to use to filter reports</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <option>
            <name>apply_overrides</name>
            <type>boolean</type>
            <summary>Whether to apply Overrides</summary>
          </option>
          <option>
            <name>min_qod</name>
            <type>integer</type>
            <summary>Minimum QoD of the results</summary>
          </option>
          <option>
            <name>report_compliance_levels</name>
            <type>compliance_levels</type>
            <summary>report compliance level to select</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>task_id</name>
            <type>uuid</type>
            <summary>UUID of the Task of the Report</summary>
          </column>
          <column>
            <name>name</name>
            <type>iso_time</type>
            <summary>Time the scan was started</summary>
          </column>
          <column>
            <name>date</name>
            <type>iso_time</type>
            <summary>Time of the scan</summary>
          </column>
          <column>
            <name>status</name>
            <type>text</type>
            <summary>Status of scan</summary>
          </column>
          <column>
            <name>task</name>
            <type>text</type>
            <summary>Name of the Task the report belongs to</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Highest severity of the results in the report</summary>
          </column>
          <column>
            <name>false_positive</name>
            <type>integer</type>
            <summary>Number of false positive results</summary>
          </column>
          <column>
            <name>log</name>
            <type>integer</type>
            <summary>Number of log results</summary>
          </column>
          <column>
            <name>low</name>
            <type>integer</type>
            <summary>Number of low severity results</summary>
          </column>
          <column>
            <name>medium</name>
            <type>integer</type>
            <summary>Number of medium severity results</summary>
          </column>
          <column>
            <name>high</name>
            <type>integer</type>
            <summary>Number of high severity results</summary>
          </column>
          <column>
            <name>critical</name>
            <type>integer</type>
            <summary>Number of critical severity results</summary>
          </column>
          <column>
            <name>hosts</name>
            <type>integer</type>
            <summary>Total number of hosts</summary>
          </column>
          <column>
            <name>result_hosts</name>
            <type>integer</type>
            <summary>Number of hosts with results matching the min_qod</summary>
          </column>
          <column>
            <name>fp_per_host</name>
            <type>integer</type>
            <summary>Number of false positive results per host with results</summary>
          </column>
          <column>
            <name>log_per_host</name>
            <type>integer</type>
            <summary>Number of log results per host with results</summary>
          </column>
          <column>
            <name>low_per_host</name>
            <type>integer</type>
            <summary>Number of low severity results per host with results</summary>
          </column>
          <column>
            <name>medium_per_host</name>
            <type>integer</type>
            <summary>Number of medium severity results per host with results</summary>
          </column>
          <column>
            <name>high_per_host</name>
            <type>integer</type>
            <summary>Number of high severity results per host with results</summary>
          </column>
          <column>
            <name>critical_per_host</name>
            <type>integer</type>
            <summary>Number of critical severity results per host with results</summary>
          </column>
          <column>
            <name>start_time</name>
            <type>iso_time</type>
            <summary>Scan start time</summary>
          </column>
          <column>
            <name>end_time</name>
            <type>iso_time</type>
            <summary>Scan end time</summary>
          </column>
          <column>
            <name>scan_start</name>
            <type>iso_time</type>
            <summary>Scan start time</summary>
          </column>
          <column>
            <name>scan_end</name>
            <type>iso_time</type>
            <summary>Scan end time</summary>
          </column>
          <column>
            <name>compliance_yes</name>
            <type>integer</type>
            <summary>Number of compliance yes results</summary>
          </column>
          <column>
            <name>compliance_no</name>
            <type>integer</type>
            <summary>Number of compliance no results</summary>
          </column>
          <column>
            <name>compliance_incomplete</name>
            <type>integer</type>
            <summary>Number of compliance incomplete results</summary>
          </column>
          <column>
            <name>compliant</name>
            <type>compliance_status</type>
            <summary>Compliance state of the report. Can be yes, no, incomplete or undefined</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>report_filt_id</name>
        <summary>ID of filter to use to filter reports</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>
          Whether to get the details of the reports including the
          results, hosts, ports etc
        </summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>format_id</name>
        <summary>ID of requested report format</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>config_id</name>
        <summary>ID of requested report config</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>alert_id</name>
        <summary>ID of alert to pass generated report to</summary>
        <description>
          <p>
            In this case the response is empty, and simply indicates success
            via the status code.
          </p>
        </description>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>lean</name>
        <summary>Whether to return a streamlined response</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>notes_details</name>
        <summary>If notes are included, whether to include note details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>overrides_details</name>
        <summary>If overrides are included, whether to include override details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>result_tags</name>
        <summary>Whether to include tags in the results</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>delta_report_id</name>
        <summary>ID of second report, for producing a delta report</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>ignore_pagination</name>
        <summary>
          Whether to ignore info used to split the report into pages
          like the filter terms "first" and "rows"
        </summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>usage_type</name>
        <summary>Optional usage type to limit the reports to. Affects total count unlike filter</summary>
        <type>
          <alts>
            <alt>scan</alt>
            <alt>audit</alt>
            <alt></alt>
          </alts>
        </type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>report</e></any>
        <o>
          <g>
            <e>filters</e>
            <e>sort</e>
            <e>reports</e>
            <e>report_count</e>
          </g>
        </o>
      </pattern>
      <ele>
        <name>report</name>
        <summary>Actually attributes and either base64 or a report</summary>
        <type>report</type>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>reports</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First report</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of reports</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>report_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of reports after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of reports on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get a report in PDF</summary>
      <request>
        <get_reports report_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"
                     format_id="1a60a67e-97d0-4cbf-bc77-f71b08e7043d">
        </get_reports>
      </request>
      <response>
        <get_reports_response status="200" status_text="OK">
          <report id="267a3405-e84a-47da-97b2-5fa0d2e8995e"
                  format_id="1a60a67e-97d0-4cbf-bc77-f71b08e7043d"
                  extension="pdf"
                  content_type="application/pdf">
            hsisn3qaVFhkjFRG4...
          </report>
        </get_reports_response>
      </response>
    </example>
    <example>
      <summary>Get a report in XML</summary>
      <request>
        <get_reports report_id="f0fdf522-276d-4893-9274-fb8699dc2270">
        </get_reports>
      </request>
      <response>
        <get_reports_response status="200" status_text="OK">
          <report id="f0fdf522-276d-4893-9274-fb8699dc2270"
                  format_id="d5da9f67-8551-4e51-807b-b6a873d70e34"
                  extension="xml"
                  content_type="text/xml">
            <report id="f0fdf522-276d-4893-9274-fb8699dc2270">
              <gmp>
                <version>@GMP_VERSION@</version>
              </gmp>
              <sort>
                <field>
                  type
                  <order>descending</order>
                </field>
              </sort>
              <filters id="0">
                <term>first=1 rows=-1 sort=name</term>
                <filter>Critical</filter>
                <filter>High</filter>
                <filter>Medium</filter>
                <filter>Low</filter>
                <filter>Log</filter>
                <keywords>
                  <keyword>
                    <column>first</column>
                    <relation>=</relation>
                    <value>1</value>
                  </keyword>
                  <keyword>
                    <column>rows</column>
                    <relation>=</relation>
                    <value>-1</value>
                  </keyword>
                  <keyword>
                    <column>sort</column>
                    <relation>=</relation>
                    <value>name</value>
                  </keyword>
                </keywords>
              </filters>
              <scan_run_status>Done</scan_run_status>
              <hosts>
                <count>1</count>
              </hosts>
              <closed_cves>
                <count>0</count>
              </closed_cves>
              <vulns>
                <count>3</count>
              </vulns>
              <os>
                <count>1</count>
              </os>
              <apps>
                <count>2</count>
              </apps>
              <ssl_certs>
                <count>0</count>
              </ssl_certs>
              <result_count>
                <full>10</full>
                <filtered>10</filtered>
                <critical>
                  <full>0</full>
                  <filtered>0</filtered>
                </critical>
                <hole>
                  <full>0</full>
                  <filtered>0</filtered>
                </hole>
                <high>
                  <full>0</full>
                  <filtered>0</filtered>
                </high>
                <info>
                  <full>7</full>
                  <filtered>7</filtered>
                </info>
                <low>
                  <full>7</full>
                  <filtered>7</filtered>
                </low>
                <log>
                  <full>0</full>
                  <filtered>0</filtered>
                </log>
                <warning>
                  <full>3</full>
                  <filtered>3</filtered>
                </warning>
                <medium>
                  <full>3</full>
                  <filtered>3</filtered>
                </medium>
              </result_count>
              <task id="13bb418a-4220-4575-b35b-ec398bff7417">
                <name>dik mm</name>
              </task>
              <scan>
                <task>
                </task>
              </scan>
              <timestamp>2010-02-02T19:11:21+00:00</timestamp>
              <scan_start>2010-02-02T19:11:21+00:00</scan_start>
              <timezone>UTC</timezone>
              <timezone_abbrev>UTC</timezone_abbrev>
              <ports start="1" max="-1">
                <port>
                  general/tcp
                  <host>127.0.1.1</host>
                  <severity>5.0</severity>
                  <threat>Medium</threat>
                </port>
                <truncated>...</truncated>
              </ports>
              <results start="1" max="-1">
                <result id="634f7a2e-8ca1-43b7-b6d7-0d4841449508">
                  <host>127.0.1.1</host>
                  <port>general/tcp</port>
                  <nvt oid="1.3.6.1.4.1.25623.1.0.74">
                    <name>Test NVT: fields with ISO-8859-1 chars ()</name>
                    <cvss_base>5.0</cvss_base>
                    <severities score="50">
                      <severity>
                        [...]
                      </severity>
                    </severities>
                    <tags>NOTAGS</tags>
                    <refs>
                      <ref id="CVE-2013-1406" type="cve"/>
                      <ref id="DFN-CERT-2013-0246" type="dfn-cert"/>
                    </refs>
                  </nvt>
                  <threat>Medium</threat>
                  <description>Test with  umlaut Warning Port 0.</description>
                </result>
                <truncated>...</truncated>
              </results>
              <host>
                <ip>127.0.1.1</ip>
                <asset asset_id="167a7f18-df86-4695-a6ff-2516ffe2ad43"/>
                <start>2010-02-21T15:35:31Z</start>
                <end>2010-02-21T16:31:13Z</end>
                <truncated>...</truncated>
              </host>
              <scan_end>2010-02-02T19:11:52+00:00</scan_end>
              <errors>
                <count>0</count>
              </errors>
            </report>
          </report>
        </get_reports_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_resource_names</name>
    <summary>Get one or many names and IDs for items of given type</summary>
    <description>
      The client uses the get_resource_names command to get the 
      names and IDs for items of the given type.
    </description>
    <pattern>
      <attrib>
        <name>type</name>
        <summary>
        Type must be one of ALERT, CERT_BUND_ADV, CONFIG, CPE, CREDENTIAL, CVE,
        DFN_CERT_ADV, FILTER, GROUP, HOST, NOTE, NVT, OS, OVERRIDE, PERMISSION,
        PORT_LIST, REPORT_CONFIG, REPORT_FORMAT, REPORT, RESULT, ROLE, SCANNER,
        SCHEDULE, TARGET, TASK, TLS_CERTIFICATE or USER</summary>
        <type>text</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>resource_id</name>
        <summary>ID of single resource to get</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
        </filter_keywords>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>type</e>
        <any><e>resource</e></any>
      </pattern>
      <ele>
        <name>type</name>
        <summary>The type of the resource</summary>
        <pattern><t>type</t></pattern>        
      </ele>
      <ele>
        <name>resource</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>integer</type>
            <summary>A unique number identifying the resource, if available</summary>
          </attrib>
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the resource</summary>
          <pattern><t>name</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get all resource names for operating systems</summary>
      <request>
        <get_resource_names type="os" filter="first=1, rows=-1"/>
      </request>
      <response>
        <get_resource_names_response status_text="OK" status="200">
          <type>os</type>
          <resource id="5b6b6aef-b320-42ca-899f-3161ee2a4195">
            <name>cpe:/h:hp:jetdirect</name>
          </resource>
          <resource id="5be25864-9249-431e-8a91-039e334371ad">
            <name>cpe:/o:canonical:ubuntu_linux:18.04</name>
          </resource>
          <resource id="89ccbfe3-9bbb-4c99-b4c7-fb85ca021093">
            <name>cpe:/o:canonical:ubuntu_linux:8.04</name>
          </resource>
          <resource id="f2fa6833-fe34-4e04-a60c-6c5dc1ed0fcf">
            <name>cpe:/o:debian:debian_linux</name>
          </resource>
          <resource id="d29f3e4e-07e0-4eb6-b040-5e179f890784">
            <name>cpe:/o:debian:debian_linux:8</name>
          </resource>
          <resource id="2aa54229-0041-492f-8c81-df0289563512">
            <name>cpe:/o:debian:debian_linux:9</name>
          </resource>
          <resource id="39ff8a64-54c2-405d-8e95-7b086e9a3eca">
            <name>cpe:/o:linux:kernel</name>
          </resource>
          <resource id="19c091f0-a687-4dc3-b482-7d191ead4bb3">
            <name>cpe:/o:microsoft:windows</name>
          </resource>
        </get_resource_names_response>
      </response>
    </example>  
  </command>
  <command>
    <name>get_results</name>
    <summary>Get results</summary>
    <description>
      <p>
        The client uses the get_results command to get result information.
      </p>
      <p>
        If the request includes a notes flag, an overrides flag or an
        apply_overrides flag and any of these is true, then the request
        must also include a task ID.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>result_id</name>
        <summary>ID of single result to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <option>
            <name>apply_overrides</name>
            <type>boolean</type>
            <summary>Whether to apply Overrides</summary>
          </option>
          <option>
            <name>compliance_levels</name>
            <type>compliance_levels</type>
            <summary>Compliance levels to select</summary>
          </option>
          <option>
            <name>levels</name>
            <type>levels</type>
            <summary>Severity levels to select</summary>
          </option>
          <option>
            <name>min_qod</name>
            <type>integer</type>
            <summary>Minimum QoD of the results</summary>
          </option>
          <option>
            <name>notes</name>
            <type>boolean</type>
            <summary>Whether to include Notes in the report</summary>
          </option>
          <option>
            <name>overrides</name>
            <type>boolean</type>
            <summary>Whether to include Override descriptions in the report</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name of the NVT</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>compliant</name>
            <type>
              <alts>
                <alt>yes</alt>
                <alt>no</alt>
                <alt>incomplete</alt>
                <alt>undefined</alt>
              </alts>
            </type>
            <summary>Compliance status</summary>
          </column>
          <column>
            <name>host</name>
            <type>text</type>
            <summary>Host IP address of the result</summary>
          </column>
          <column>
            <name>hostname</name>
            <type>text</type>
            <summary>Hostname of the result</summary>
          </column>
          <column>
            <name>location</name>
            <type>text</type>
            <summary>Port and protocol of the result</summary>
          </column>
          <column>
            <name>path</name>
            <type>text</type>
            <summary>The local path on the host, e.g. a file location</summary>
          </column>
          <column>
            <name>nvt</name>
            <type>text</type>
            <summary>Unique ID of the test that produced the result</summary>
          </column>
          <column>
            <name>type</name>
            <type>threat</type>
            <summary>Severity type of the result with overrides</summary>
          </column>
          <column>
            <name>original_type</name>
            <type>threat</type>
            <summary>Original severity type of the result</summary>
          </column>
          <column>
            <name>description</name>
            <type>text</type>
            <summary>Description of the result</summary>
          </column>
          <column>
            <name>task</name>
            <type>text</type>
            <summary>Name of the task</summary>
          </column>
          <column>
            <name>report</name>
            <type>number</type>
            <summary>Internal ID of the report</summary>
          </column>
          <column>
            <name>cvss_base</name>
            <type>severity</type>
            <summary>CVSS base score of the NVT that generated the result</summary>
          </column>
          <column>
            <name>nvt_version</name>
            <type>text</type>
            <summary>Version of the NVT that generated the result</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Severity of the result with overrides</summary>
          </column>
          <column>
            <name>original_severity</name>
            <type>severity</type>
            <summary>Original severity of the result</summary>
          </column>
          <column>
            <name>vulnerability</name>
            <type>text</type>
            <summary>Name of the NVT that generated result</summary>
          </column>
          <column>
            <name>date</name>
            <type>iso_time</type>
            <summary>Time the result was generated</summary>
          </column>
          <column>
            <name>report_id</name>
            <type>uuid</type>
            <summary>UUID of the report</summary>
          </column>
          <column>
            <name>solution_type</name>
            <type>text</type>
            <summary>Solution type of the result</summary>
          </column>
          <column>
            <name>qod</name>
            <type>integer</type>
            <summary>QoD of the result</summary>
          </column>
          <column>
            <name>qod_type</name>
            <type>text</type>
            <summary>QoD type of the result</summary>
          </column>
          <column>
            <name>task_id</name>
            <type>uuid</type>
            <summary>UUID of the task</summary>
          </column>
          <column>
            <name>cve</name>
            <type>text</type>
            <summary>List of CVEs of the result</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>task_id</name>
        <summary>ID of task for note and override handling</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>notes_details</name>
        <summary>If notes are included, whether to include note details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>overrides_details</name>
        <summary>If overrides are included, whether to include override details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include additional details of the results</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>get_counts</name>
        <summary>Whether to include result counts</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>result</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>results</e>
        <o><e>result_count</e></o>
      </pattern>
      <ele>
        <name>result</name>
        <type>result</type>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>results</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First result</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of results</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>result_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of results after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of results on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many results</summary>
      <request>
        <get_results></get_results>
      </request>
      <response>
        <get_results_response status="200" status_text="OK">
          <result id="634f7a2e-8ca1-43b7-b6d7-0d4841449508">
            <owner>
              <name>admin</name>
            </owner>
            <comment/>
            <creation_time>2014-05-23T09:22:12Z</creation_time>
            <modification_time>2014-05-23T09:22:12Z</modification_time>
            <host>127.0.1.1</host>
            <port>general/tcp</port>
            <nvt oid="1.3.6.1.4.1.25623.1.0.74">
              <name>Test NVT: fields with ISO-8859-1 chars</name>
              <cvss_base>5.0</cvss_base>
              <severities score="50">
                <severity>
                  [...]
                </severity>
              </severities>
              <tags>NOTAGS</tags>
              <refs>
                <ref type="cve" id="CVE-2009-3095"/>
              </refs>
            </nvt>
            <threat>Medium</threat>
            <description>Test with umlaut.</description>
          </result>
          <truncated>...</truncated>
          <filters id="">
            <term>first=1 rows=-1 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <truncated>...</truncated>
            </keywords>
          </filters>
          <sort>
            <field>
              name
              <order>ascending</order>
            </field>
          </sort>
          <results max="-1" start="1"></results>
          <result_count>
            124
            <filtered>124</filtered>
            <page>124</page>
          </result_count>
        </get_results_response>
      </response>
    </example>
    <example>
      <summary>Get a result, including notes and overrides</summary>
      <request>
        <get_results result_id="cac9e7c8-c726-49fd-a710-5f99079ab93e"
                     task_id="40b236a9-2b0f-4813-b8c7-bc2b98d9d7e4"
                     filter="notes=1 overrides=1">
        </get_results>
      </request>
      <response>
        <get_results_response status="200" status_text="OK">
          <result id="cac9e7c8-c726-49fd-a710-5f99079ab93e">
            <owner>
              <name>admin</name>
            </owner>
            <comment/>
            <creation_time>2014-05-23T09:22:12Z</creation_time>
            <modification_time>2014-05-23T09:22:12Z</modification_time>
            <host>127.0.0.1</host>
            <port>general/tcp</port>
            <nvt oid="1.3.6.1.4.1.25623.1.0.75">
              <name>Test NVT: long lines</name>
              <cvss_base>9</cvss_base>
              <severities score="90">
                <severity>
                  [...]
                </severity>
              </severities>
              <tags>NOTAGS</tags>
              <refs>
                <ref type="cve" id="CVE-2009-3095"/>
              </refs>
            </nvt>
            <threat>High</threat>
            <description>Test with very long warning.</description>
            <original_threat>Medium</original_threat>
            <notes></notes>
            <overrides>
              <override id="b0832812-75f1-45eb-b676-99c6e6bf2b24">
                <nvt oid="1.3.6.1.4.1.25623.1.0.75">
                  <name>Test NVT: long lines</name>
                </nvt>
                <text excerpt="0">Test override</text>
                <new_threat>High</new_threat>
                <orphan>0</orphan>
              </override>
            </overrides>
          </result>
          <filters id="">
            <term>first=1 rows=-1 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <truncated>...</truncated>
            </keywords>
          </filters>
          <sort>
            <field>
              name
              <order>ascending</order>
            </field>
          </sort>
          <results max="-1" start="1"></results>
          <result_count>
            1
            <filtered>1</filtered>
            <page>1</page>
          </result_count>
        </get_results_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_roles</name>
    <summary>Get one or many roles</summary>
    <description>
      The client uses the get_roles command to get role information.
    </description>
    <pattern>
      <attrib>
        <name>role_id</name>
        <summary>ID of single role to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan roles instead</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>role</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>roles</e>
        <e>role_count</e>
      </pattern>
      <ele>
        <name>role</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>users</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the role</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the role</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the role</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the role was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the role was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>users</name>
          <summary>
            A comma-separated list of the users who have this role
          </summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the role is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether the role is in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions that the current user has on the role</summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the role</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>roles</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First role</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of roles</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>role_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of roles after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of roles on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many roles</summary>
      <request>
        <get_roles></get_roles>
      </request>
      <response>
        <get_roles_response status="200" status_text="OK">
          <role id="b493b7a8-7489-11df-a3ec-002264764cea">
            <name>Management</name>
            <comment>Managers</comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <users>sarah, frank</users>
          </role>
          <truncated>...</truncated>
          <filters id="">
            <term>first=1 rows=-1 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <truncated>...</truncated>
            </keywords>
          </filters>
          <sort>
            <field>
              name
              <order>ascending</order>
            </field>
          </sort>
          <roles max="-1" start="1"></roles>
          <role_count>
            1
            <filtered>1</filtered>
            <page>1</page>
          </role_count>
        </get_roles_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_scanners</name>
    <summary>Get one or many scanners</summary>
    <description>
      <p>
        The client uses the get_scanners command to get scanner information.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>scanner_id</name>
        <summary>ID of single scanner to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>host</name>
            <type>text</type>
            <summary>Host of the scanner</summary>
          </column>
          <column>
            <name>port</name>
            <type>integer</type>
            <summary>Port of the scanner</summary>
          </column>
          <column>
            <name>type</name>
            <type>scanner_type</type>
            <summary>Type of the scanner</summary>
          </column>
          <column>
            <name>relay_host</name>
            <type>text</type>
            <summary>Relay host of the scanner</summary>
          </column>
          <column>
            <name>relay_port</name>
            <type>integer</type>
            <summary>Relay port of the scanner</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan scanners instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include extra details like tasks using this scanner</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>scanner</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>scanners</e>
        <e>scanner_count</e>
      </pattern>
      <ele>
        <name>scanner</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <o><e>copy</e></o>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>ca_pub_info</e>
          <e>certificate_info</e>
          <e>host</e>
          <e>port</e>
          <e>type</e>
          <e>ca_pub</e>
          <e>credential</e>
          <e>relay_host</e>
          <e>relay_port</e>
          <o><e>configs</e></o>
          <o><e>tasks</e></o>
          <o><e>info</e></o>
        @IF_ENABLE_AGENTS@
          <o><e>agent_control_config</e></o>
        @ENDIF_ENABLE_AGENTS@
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the scanner</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the scanner</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the scanner</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>copy</name>
          <summary>The UUID of an existing scanner</summary>
          <pattern>
            <t>uuid</t>
          </pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the scanner is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any tasks are using the scanner</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>Permissions that the current user has on the scanner</summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the chedule</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>ca_pub_info</name>
          <summary>
            Info about the CA certificate
          </summary>
          <type>certificate_info</type>
        </ele>
        <ele>
          <name>certificate_info</name>
          <summary>
            Info about the certificate
          </summary>
          <type>certificate_info</type>
        </ele>
        <ele>
          <name>host</name>
          <summary>Host of the scanner</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>port</name>
          <summary>Port of the scanner</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>type</name>
          <summary>Type of the scanner</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>ca_pub</name>
          <summary>CA Certificate to verify the scanner's certificate</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>credential</name>
          <summary>Client certificate credential for the Scanner</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>Name of the credential</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>login</name>
            <summary>Username from credential used to login</summary>
            <pattern>
              text
            </pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the credential is in the trashcan</summary>
            <pattern>
              <t>boolean</t>
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>relay_host</name>
          <summary>Optional relay host of the scanner</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>relay_port</name>
          <summary>Optional relay port of the scanner</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>configs</name>
          <pattern>
            <any><e>config</e></any>
          </pattern>
          <ele>
            <name>config</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the config</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the config</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>tasks</name>
          <pattern>
            <any><e>task</e></any>
          </pattern>
          <ele>
            <name>task</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>usage_type</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the task</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>usage_type</name>
              <summary>The usage type of the task</summary>
              <pattern>
                <alts>
                  <alt>scan</alt>
                  <alt>policy</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the task</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>info</name>
          <pattern>
            <o><e>scanner</e></o>
            <o><e>daemon</e></o>
            <o><e>protocol</e></o>
            <o><e>description</e></o>
            <o><e>params</e></o>
          </pattern>
          <ele>
            <name>scanner</name>
            <pattern>
              <e>name</e>
              <e>version</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the scanner</summary>
              <pattern></pattern>
            </ele>
            <ele>
              <name>version</name>
              <summary>Version of the scanner</summary>
              <pattern></pattern>
            </ele>
          </ele>
          <ele>
            <name>daemon</name>
            <pattern>
              <e>name</e>
              <e>version</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the scanner daemon</summary>
              <pattern></pattern>
            </ele>
            <ele>
              <name>version</name>
              <summary>Version of the scanner daemon</summary>
              <pattern></pattern>
            </ele>
          </ele>
          <ele>
            <name>protocol</name>
            <pattern>
              <e>name</e>
              <e>version</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the scanner protocol</summary>
              <pattern></pattern>
            </ele>
            <ele>
              <name>version</name>
              <summary>Version of the scanner protocol</summary>
              <pattern></pattern>
            </ele>
          </ele>
          <ele>
            <name>description</name>
            <summary>Description of the scanner.</summary>
          </ele>
          <ele>
            <name>params</name>
            <pattern>
              <any><e>param</e></any>
            </pattern>
            <ele>
              <name>param</name>
              <summary>Parameter of the scanner.</summary>
            </ele>
          </ele>
        </ele>
      @IF_ENABLE_AGENTS@
        <ele>
          <name>agent_control_config</name>
          <summary>Structured agent-controller scan configuration</summary>
          <pattern>
            <e>agent_control</e>
            <e>agent_script_executor</e>
            <e>heartbeat</e>
          </pattern>
          <ele>
            <name>agent_control</name>
            <pattern><e>retry</e></pattern>
            <ele>
              <name>retry</name>
              <pattern>
                <e>attempts</e>
                <e>delay_in_seconds</e>
                <e>max_jitter_in_seconds</e>
              </pattern>
              <ele>
                <name>attempts</name>
                <pattern><type>integer</type></pattern>
              </ele>
              <ele>
                <name>delay_in_seconds</name>
                <pattern><type>integer</type></pattern>
              </ele>
              <ele>
                <name>max_jitter_in_seconds</name>
                <pattern><type>integer</type></pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>agent_script_executor</name>
            <pattern>
              <e>bulk_size</e>
              <e>bulk_throttle_time_in_ms</e>
              <e>indexer_dir_depth</e>
              <any><e>scheduler_cron_time</e></any>
            </pattern>
            <ele>
              <name>bulk_size</name>
              <pattern><type>integer</type></pattern>
            </ele>
            <ele>
              <name>bulk_throttle_time_in_ms</name>
              <pattern><type>integer</type></pattern>
            </ele>
            <ele>
              <name>indexer_dir_depth</name>
              <pattern><type>integer</type></pattern>
            </ele>
            <ele>
              <name>scheduler_cron_time</name>
              <pattern><any><e>item</e></any></pattern>
              <ele>
                <name>item</name>
                <summary>A cron expression defining execution schedule</summary>
                <pattern><type>text</type></pattern>
              </ele>
            </ele>
          </ele>
          <ele>
            <name>heartbeat</name>
            <pattern>
              <e>interval_in_seconds</e>
              <e>miss_until_inactive</e>
            </pattern>
            <ele>
              <name>interval_in_seconds</name>
              <summary>Expected heartbeat interval from the updater/agent</summary>
              <pattern><type>integer</type></pattern>
            </ele>
            <ele>
              <name>miss_until_inactive</name>
              <summary>Consecutive missed heartbeats before marking agent inactive</summary>
              <pattern><type>integer</type></pattern>
            </ele>
          </ele>
        </ele>
      @ENDIF_ENABLE_AGENTS@
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>scanners</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First scanner</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of scanners</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>scanner_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of scanners after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of scanners on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get full details of a single scanner</summary>
      <request>
        <get_scanners details='1' scanner_id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"/>
      </request>
      <response>
        <get_scanners_response status="200" status_text="OK">
          <scanner id="c33864a9-d3fd-44b3-8717-972bfb01dfcf">
            <name>Default Scanner</name>
            <comment></comment>
            <creation_time>2014-01-01T13:57:25+01:00</creation_time>
            <modification_time>2014-01-18T12:07:36+01:00</modification_time>
            <writable>0</writable>
            <in_use>1</in_use>
            <host>localhost</host>
            <port>9391</port>
            <type>2</type>
            <ca_pub>...</ca_pub>
            <key_pub>...</key_pub>
            <tasks>
              <task id="813864a9-d3fd-44b3-8717-972bfb01dfc0">
                <name>Debian desktops</name>
                <usage_type>scan</usage_type>
              </task>
              <truncated>...</truncated>
            </tasks>
          </scanner>
          <truncate>...</truncate>
        </get_scanners_response>
      </response>
    </example>
  @IF_ENABLE_AGENTS@
    <example>
      <summary>Get full details of a single Agent Control scanner</summary>
      <request>
        <get_scanners details='1' scanner_id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"/>
      </request>
      <response>
        <get_scanners_response status="200" status_text="OK">
          <scanner id="c33864a9-d3fd-44b3-8717-972bfb01dfcf">
            <name>Default Scanner</name>
            <comment></comment>
            <creation_time>2014-01-01T13:57:25+01:00</creation_time>
            <modification_time>2014-01-18T12:07:36+01:00</modification_time>
            <writable>0</writable>
            <in_use>1</in_use>
            <host>localhost</host>
            <port>9391</port>
            <type>2</type>
            <ca_pub>...</ca_pub>
            <key_pub>...</key_pub>
            <tasks>
              <task id="813864a9-d3fd-44b3-8717-972bfb01dfc0">
                <name>Debian desktops</name>
              </task>
              <truncated>...</truncated>
            </tasks>
          </scanner>
          <truncate>...</truncate>
          <agent_control_config>
            <agent_control>
              <retry>
                <attempts>5</attempts>
                <delay_in_seconds>60</delay_in_seconds>
                <max_jitter_in_seconds>10</max_jitter_in_seconds>
              </retry>
            </agent_control>
            <agent_script_executor>
              <bulk_size>2</bulk_size>
              <bulk_throttle_time_in_ms>100</bulk_throttle_time_in_ms>
              <indexer_dir_depth>10</indexer_dir_depth>
              <scheduler_cron_time is_list="1">
                <item>0 23 * * *</item>
              </scheduler_cron_time>
            </agent_script_executor>
            <heartbeat>
              <interval_in_seconds>600</interval_in_seconds>
              <miss_until_inactive>1</miss_until_inactive>
            </heartbeat>
          </agent_control_config>
        </get_scanners_response>
      </response>
    </example>
  @ENDIF_ENABLE_AGENTS@
  </command>
  <command>
    <name>get_schedules</name>
    <summary>Get one or many schedules</summary>
    <description>
      <p>
        The client uses the get_schedules command to get schedule information.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>schedule_id</name>
        <summary>ID of single schedule to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>first_time</name>
            <type>iso_time</type>
            <summary>First time the schedule ran or will run</summary>
          </column>
          <column>
            <name>period</name>
            <type>integer</type>
            <summary>Time period between runs in seconds</summary>
          </column>
          <column>
            <name>period_months</name>
            <type>integer</type>
            <summary>Time period between runs in months</summary>
          </column>
          <column>
            <name>duration</name>
            <type>integer</type>
            <summary>Maximum duration of scans run with the schedule</summary>
          </column>
          <column>
            <name>timezone</name>
            <type>text</type>
            <summary>Timezone the schedule uses</summary>
          </column>
          <column>
            <name>first_run</name>
            <type>iso_time</type>
            <summary>Alias for first_time</summary>
          </column>
          <column>
            <name>next_run</name>
            <type>iso_time</type>
            <summary>The next time the schedule will run</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan schedules instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>tasks</name>
        <summary>Whether to include tasks using the schedules</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>schedule</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>schedules</e>
        <e>schedule_count</e>
      </pattern>
      <ele>
        <name>schedule</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>icalendar</e>
          <e>timezone</e>
          <o>
            <e>tasks</e>
          </o>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the schedule</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the schedule</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the schedule</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the schedule is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any tasks are using the schedule</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the schedule
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the schedule</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>icalendar</name>
          <summary>iCalendar text containing the time data</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>timezone</name>
          <summary>The timezone that the schedule follows</summary>
          <pattern>timezone</pattern>
        </ele>
        <ele>
          <name>tasks</name>
          <pattern>
            <any><e>task</e></any>
          </pattern>
          <ele>
            <name>task</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the task</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the task</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>schedules</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First schedule</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of schedules</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>schedule_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of schedules after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of schedules on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get full details of a single schedule</summary>
      <request>
        <get_schedules schedule_id="c33864a9-d3fd-44b3-8717-972bfb01dfcf">
        </get_schedules>
      </request>
      <response>
        <get_schedules_response status="200" status_text="OK">
          <schedule id="ddda859a-45be-4c58-85b3-517c66230232">
            <owner>
              <name>username</name>
            </owner>
            <name>Every day</name>
            <comment></comment>
            <creation_time>2020-06-03T16:27:05Z</creation_time>
            <modification_time>2020-06-03T16:27:05Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <icalendar>
              <truncated>...</truncated>
              DTSTART:20200603T162600Z DURATION:PT0S RRULE:FREQ=DAILY
            </icalendar>
            <timezone>UTC</timezone>
          </schedule>
          <truncate>...</truncate>
        </get_schedules_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_settings</name>
    <summary>Get one or many settings</summary>
    <description>
      <p>
        The client uses the get_settings command to get the settings.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>setting_id</name>
        <summary>ID of single setting to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>value</name>
            <type>text</type>
            <summary>Current value of the setting</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>first</name>
        <summary>First result</summary>
        <type>integer</type>
      </attrib>
      <attrib>
        <name>max</name>
        <summary>Maximum number of results in response</summary>
        <type>integer</type>
      </attrib>
      <attrib>
        <name>sort_order</name>
        <type>sort_order</type>
      </attrib>
      <attrib>
        <name>sort_field</name>
        <type>text</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>filters</e>
        <e>settings</e>
        <any><e>setting</e></any>
        <e>setting_count</e>
      </pattern>
      <ele>
        <name>filters</name>
        <pattern>
          <e>term</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
      <ele>
        <name>settings</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First setting</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of settings</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>setting</name>
        <pattern>
          <e>name</e>
          <e>comment</e>
          <e>value</e>
        </pattern>
        <ele>
          <name>name</name>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>comment</name>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <pattern>text</pattern>
        </ele>
      </ele>
      <ele>
        <name>setting_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of settings after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of settings on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many settings</summary>
      <request>
        <get_settings></get_settings>
      </request>
      <response>
        <get_settings_response status="200" status_text="OK">
          <settings>
            <setting id="5f5a8712-8017-11e1-8556-406186ea4fc5">
              <name>Rows Per Page</name>
              <value>15</value>
            </setting>
          </settings>
        </get_settings_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_system_reports</name>
    <summary>Get one or many system reports</summary>
    <description>
      <p>
        The client uses the get_system_reports command to get system reports.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>name</name>
        <summary>A string describing the required report</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>duration</name>
        <summary>
          The number of seconds into the past that the report should include
        </summary>
        <type>integer</type>
      </attrib>
      <attrib>
        <name>start_time</name>
        <summary>
          The start of the time interval the report should include
        </summary>
        <type>iso_time</type>
      </attrib>
      <attrib>
        <name>end_time</name>
        <summary>
          The end of the time interval the report should include
        </summary>
        <type>iso_time</type>
      </attrib>
      <attrib>
        <name>brief</name>
        <summary>Whether to include the actual reports</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>slave_id</name>
        <summary>Scanner from which to get report</summary>
        <type>uuid</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>system_report</e></any>
      </pattern>
      <ele>
        <name>system_report</name>
        <pattern>
          <e>name</e>
          <e>title</e>
          <o><e>report</e></o>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the system report</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>title</name>
          <summary>The title of the system report</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>report</name>
          <pattern>
            <attrib>
              <name>format</name>
              <type>
                <alts>
                  <alt>png</alt>
                  <alt>txt</alt>
                </alts>
              </type>
              <required>1</required>
            </attrib>
            <attrib>
              <name>duration</name>
              <type>integer</type>
              <required>1</required>
            </attrib>
            <t>base64</t>
          </pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get listing of available system reports</summary>
      <request>
        <get_system_reports brief="1">
        </get_system_reports>
      </request>
      <response>
        <get_system_reports_response status="200" status_text="OK">
          <system_report>
            <name>proc</name>
            <title>Processes</title>
          </system_report>
          <system_report>
            <name>load</name>
            <title>System Load</title>
          </system_report>
          <system_report>
            <name>cpu_0</name>
            <title>CPU Usage: CPU 0</title>
          </system_report>
          <truncated>...</truncated>
        </get_system_reports_response>
      </response>
    </example>
    <example>
      <summary>Get a system report</summary>
      <request>
        <get_system_reports name="proc">
        </get_system_reports>
      </request>
      <response>
        <get_system_reports_response status="200" status_text="OK">
          <system_report>
            <name>proc</name>
            <title>Processes</title>
            <report format="png" duration="86400">
              iVBORw0KGgoAAAANSUhEUgAAArkAAAE...2bEdAAAAAElFTkSuQmCC
            </report>
          </system_report>
        </get_system_reports_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_tags</name>
    <summary>Get one or many tags</summary>
    <description>
      <p>
        The client uses the get_tags command to get tag information.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>tag_id</name>
        <summary>ID of single tag to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>active</name>
            <type>boolean</type>
            <summary>Whether the tag is active</summary>
          </column>
          <column>
            <name>resources</name>
            <type>name</type>
            <summary>Total number of resources the tag is attached to</summary>
          </column>
          <column>
            <name>resource_type</name>
            <type>text</type>
            <summary>Type of resource the tag applies to</summary>
          </column>
          <column>
            <name>value</name>
            <type>name</type>
            <summary>Value of the tag</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>text</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get tags from the trashcan instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>names_only</name>
        <summary>Whether to get only distinct tag names</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>tag</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>tags</e>
        <e>tag_count</e>
      </pattern>
      <ele>
        <name>tag</name>
        <summary>Information on a single tag</summary>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>uuid of the tag (omitted when using names_only)</summary>
            <type>uuid</type>
          </attrib>
          <e>name</e>
          <o>
            <g>
              <e>permissions</e>
              <e>owner</e>
              <e>comment</e>
              <e>creation_time</e>
              <e>modification_time</e>
              <e>writable</e>
              <e>in_use</e>
              <e>resources</e>
              <e>value</e>
              <e>active</e>
              <e>orphan</e>
            </g>
          </o>
        </pattern>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the tag
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>owner</name>
          <summary>Owner of the tag</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>Name of the tag (usually namespace:predicate)</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>Comment for the tag</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the tag was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the tag was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the tag is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any tasks are using the tag</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>resources</name>
          <summary>Identifies the resources the tag is to be attached to</summary>
          <pattern>
            <any><e>resource</e></any>
            <e>type</e>
          </pattern>
          <ele>
            <name>resource</name>
            <pattern>
              <attrib>
                <name>id</name>
                <summary>ID of a resource the tag is attached to</summary>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>trash</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the attached resource if available, empty otherwise</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>trash</name>
              <summary>Whether the resource is in the trashcan</summary>
              <pattern><t>boolean</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the resource</summary>
              <pattern></pattern>
            </ele>
          </ele>
          <ele>
            <name>type</name>
            <summary>GMP type of the resources the tag is attached to</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
        <ele>
          <name>value</name>
          <summary>Value associated with the tag</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>active</name>
          <summary>Whether the tag is active</summary>
          <pattern>boolean</pattern>
        </ele>
        <ele>
          <name>orphan</name>
          <summary>Whether the tag is attached to a nonexistent resource</summary>
          <pattern>boolean</pattern>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>tags</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First tag</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of tags</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>tag_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of tags after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of tags on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many tags</summary>
      <request>
        <get_tags></get_tags>
      </request>
      <response>
        <get_tags_response status="200" status_text="OK">
          <tag id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
            <name>geo:long</name>
            <comment></comment>
            <creation_time>2016-03-03T11:46:56Z</creation_time>
            <modification_time>2016-03-03T11:46:56Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <resource id="b493b7a8-7489-11df-a3ec-002264764cea">
              <type>target</type>
              <name>Server 1</name>
              <trash>0</trash>
            </resource>
            <value>52.2788</value>
            <active>1</active>
          </tag>
          <truncated>...</truncated>
        </get_tags_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_targets</name>
    <summary>Get one or many targets</summary>
    <description>
      The client uses the get_targets command to get target information.
    </description>
    <pattern>
      <attrib>
        <name>target_id</name>
        <summary>ID of single target to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>hosts</name>
            <type>text</type>
            <summary>Comma-separated list of hosts</summary>
          </column>
          <column>
            <name>exclude_hosts</name>
            <type>text</type>
            <summary>Comma-separated list of excluded hosts</summary>
          </column>
          <column>
            <name>ips</name>
            <type>integer</type>
            <summary>Number of hosts</summary>
          </column>
          <column>
            <name>port_list</name>
            <type>name</type>
            <summary>Name of the port list</summary>
          </column>
          <column>
            <name>ssh_credential</name>
            <type>name</type>
            <summary>Name of the SSH credential</summary>
          </column>
          <column>
            <name>smb_credential</name>
            <type>name</type>
            <summary>Name of the SMB credential</summary>
          </column>
          <column>
            <name>esxi_credential</name>
            <type>name</type>
            <summary>Name of the ESXi credential</summary>
          </column>
          <column>
            <name>snmp_credential</name>
            <type>name</type>
            <summary>Name of the SNMP credential</summary>
          </column>
          <column>
            <name>ssh_elevate_credential</name>
            <type>name</type>
            <summary>Name of the SSH credential to elevate privileges after initial login</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan targets instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>tasks</name>
        <summary>Whether to include list of tasks that use the target</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include port range and tag info</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>target</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>targets</e>
        <e>target_count</e>
      </pattern>
      <ele>
        <name>target</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>hosts</e>
          <e>exclude_hosts</e>
          <e>max_hosts</e>
          <e>ssh_credential</e>
          <e>smb_credential</e>
          <e>esxi_credential</e>
          <e>krb5_credential</e>
          <e>snmp_credential</e>
          <e>ssh_elevate_credential</e>
          <e>permissions</e>
          <e>port_range</e>
          <e>port_list</e>
          <e>alive_tests</e>
          <e>reverse_lookup_only</e>
          <e>reverse_lookup_unify</e>
          <e>allow_simultaneous_ips</e>
          <o><e>tasks</e></o>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the target</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the target</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the target</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the target was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the target was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>hosts</name>
          <summary>A list of hosts</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>exclude_hosts</name>
          <summary>A list of hosts to exclude</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>max_hosts</name>
          <summary>The maximum number of hosts defined by the target</summary>
          <pattern>
            <t>integer</t>
          </pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the target is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether any tasks are using the target</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the target
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the target</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>ssh_credential</name>
          <pattern>
            <attrib>
              <name>id</name>
              <comment>
                A UUID if there is a credential, otherwise the empty string
              </comment>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>port</e>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the SSH LSC credential</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the credential</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>port</name>
            <summary>The port the LSCs will use</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the LSC credential is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>smb_credential</name>
          <pattern>
            <attrib>
              <name>id</name>
              <comment>
                A UUID if there is a credential, otherwise the empty string
              </comment>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the SMB LSC credential</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the credential</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the LSC credential is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>esxi_credential</name>
          <pattern>
            <attrib>
              <name>id</name>
              <comment>
                A UUID if there is a credential, otherwise the empty string
              </comment>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the ESXi LSC credential</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the credential</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the LSC credential is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>krb5_credential</name>
          <pattern>
            <attrib>
              <name>id</name>
              <comment>
                A UUID if there is a credential, otherwise the empty string
              </comment>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the Kerberos 5 LSC credential</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the credential</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the LSC credential is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>snmp_credential</name>
          <pattern>
            <attrib>
              <name>id</name>
              <comment>
                A UUID if there is a credential, otherwise the empty string
              </comment>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the SNMP credential</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the credential</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the credential is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>ssh_elevate_credential</name>
          <summary>
            SSH LSC credential used to elevate privileges after initial login
          </summary>
          <pattern>
            <attrib>
              <name>id</name>
              <comment>
                A UUID if there is a credential, otherwise the empty string
              </comment>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the SSH LSC credential</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the credential</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the LSC credential is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>port_range</name>
          <summary>Port range of the target</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>port_list</name>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the port_list</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the port_list</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the port_list is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>alive_tests</name>
          <summary>Which alive tests to use</summary>
          <description>
            A string representation in the format of the old predefined
            alive test selections is also included, but its use is deprecated.
          </description>
          <pattern>
            <any><e>alive_test</e></any>
          </pattern>
          <ele>
            <name>alive_test</name>
            <summary>
              A single alive test to use
            </summary>
            <pattern>
              <t>alive_test</t>
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>reverse_lookup_only</name>
          <summary>Whether to scan only hosts that have names</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>reverse_lookup_unify</name>
          <summary>
            Whether to scan only one IP when multiple IPs have the same name
          </summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>allow_simultaneous_ips</name>
          <summary>
            Whether to scan multiple IPs of the same host simultaneously
          </summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>tasks</name>
          <summary>All tasks using the target</summary>
          <pattern>
            <any><e>task</e></any>
          </pattern>
          <ele>
            <name>task</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the task</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the task</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>targets</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First target</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of targets</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>target_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of targets after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of targets on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many targets</summary>
      <request>
        <get_targets></get_targets>
      </request>
      <response>
        <get_targets_response status="200" status_text="OK">
          <target id="b493b7a8-7489-11df-a3ec-002264764cea">
            <name>Localhost</name>
            <comment></comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>0</writable>
            <in_use>7</in_use>
            <hosts>localhost</hosts>
            <max_hosts>1</max_hosts>
            <ssh_credential id="">
              <name></name>
            </ssh_credential>
            <smb_credential id="">
              <name></name>
            </smb_credential>
            <esxi_credential id="">
              <name></name>
            </esxi_credential>
          </target>
          <truncated>...</truncated>
        </get_targets_response>
      </response>
    </example>
    <example>
      <summary>Get a single target, including tasks using the target</summary>
      <request>
        <get_targets target_id="1f28d970-17ef-4c69-ba8a-13827059f2b9" tasks="1">
        </get_targets>
      </request>
      <response>
        <get_targets_response status="200" status_text="OK">
          <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9">
            <name>dik</name>
            <comment>dik mm</comment>
            <creation_time>2018-08-29T20:21:33Z</creation_time>
            <modification_time>2018-08-29T20:21:33Z</modification_time>
            <writable>0</writable>
            <in_use>4</in_use>
            <hosts>dik.example.org</hosts>
            <max_hosts>1</max_hosts>
            <ssh_credential id="58ff2793-2dc7-43fe-85f9-20bfac5a87e4">
              <name>mm</name>
            </ssh_credential>
            <smb_credential id="">
              <name></name>
            </smb_credential>
            <esxi_credential id="">
              <name></name>
            </esxi_credential>
            <tasks>
              <task id="13bb418a-4220-4575-b35b-ec398bff7417">
                <name>dik mm</name>
              </task>
              <truncated>...</truncated>
            </tasks>
          </target>
        </get_targets_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_tasks</name>
    <summary>Get one or many tasks</summary>
    <description>
      <p>
        The client uses the get_tasks command to get task information.
      </p>
      <p>
        As a convenience for clients the response includes a task count and
        the values of the sort order, sort field and apply overrides flag
        that the manager applied when selecting the tasks.
      </p>
      <p>
        A task may be an "import" task.  This means the task may not be
        run, but reports may be uploaded to the task with the command
        create_report.  Import tasks are identified by having an empty
        id attribute in the target element.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>task_id</name>
        <summary>ID of single task to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <option>
            <name>apply_overrides</name>
            <type>boolean</type>
            <summary>Whether to apply Overrides</summary>
          </option>
          <option>
            <name>min_qod</name>
            <type>integer</type>
            <summary>Minimum QoD of the results</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>status</name>
            <type>text</type>
            <summary>Status of the current scan</summary>
          </column>
          <column>
            <name>total</name>
            <type>integer</type>
            <summary>Total number of results</summary>
          </column>
          <column>
            <name>first_report</name>
            <type>uuid</type>
            <summary>UUID of the first report</summary>
          </column>
          <column>
            <name>last_report</name>
            <type>uuid</type>
            <summary>UUID of the last finished report</summary>
          </column>
          <column>
            <name>threat</name>
            <type>threat</type>
            <summary>Severity level of the last finished report</summary>
          </column>
          <column>
            <name>trend</name>
            <type>
              <alts>
                <alt>up</alt>
                <alt>down</alt>
                <alt>more</alt>
                <alt>less</alt>
                <alt>same</alt>
              </alts>
            </type>
            <summary>Trend of the task</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Severity of the last finished report</summary>
          </column>
          <column>
            <name>schedule</name>
            <type>name</type>
            <summary>Name of the schedule</summary>
          </column>
          <column>
            <name>next_due</name>
            <type>iso_time</type>
            <summary>Time the task is next due to run</summary>
          </column>
          <column>
            <name>first_report_created</name>
            <type>iso_time</type>
            <summary>Timestamp of the first report</summary>
          </column>
          <column>
            <name>last_report_created</name>
            <type>iso_time</type>
            <summary>Timestamp of the last finished report</summary>
          </column>
          <column>
            <name>first</name>
            <type>iso_time</type>
            <summary>Timestamp of the first report (deprecated, use first_report_created)</summary>
          </column>
          <column>
            <name>last</name>
            <type>iso_time</type>
            <summary>Timestamp of the last finished report (deprecated, use last_report_created)</summary>
          </column>
          <column>
            <name>false_positive</name>
            <type>integer</type>
            <summary>Number of false positive results</summary>
          </column>
          <column>
            <name>log</name>
            <type>integer</type>
            <summary>Number of log results</summary>
          </column>
          <column>
            <name>low</name>
            <type>integer</type>
            <summary>Number of low severity results</summary>
          </column>
          <column>
            <name>medium</name>
            <type>integer</type>
            <summary>Number of medium severity results</summary>
          </column>
          <column>
            <name>high</name>
            <type>integer</type>
            <summary>Number of high severity results</summary>
          </column>
          <column>
            <name>critical</name>
            <type>integer</type>
            <summary>Number of critical severity results</summary>
          </column>
          <column>
            <name>hosts</name>
            <type>integer</type>
            <summary>Total number of hosts</summary>
          </column>
          <column>
            <name>result_hosts</name>
            <type>integer</type>
            <summary>Number of hosts with results matching the min_qod</summary>
          </column>
          <column>
            <name>fp_per_host</name>
            <type>integer</type>
            <summary>Number of false positive results per host with results</summary>
          </column>
          <column>
            <name>log_per_host</name>
            <type>integer</type>
            <summary>Number of log results per host with results</summary>
          </column>
          <column>
            <name>low_per_host</name>
            <type>integer</type>
            <summary>Number of low severity results per host with results</summary>
          </column>
          <column>
            <name>medium_per_host</name>
            <type>integer</type>
            <summary>Number of medium severity results per host with results</summary>
          </column>
          <column>
            <name>high_per_host</name>
            <type>integer</type>
            <summary>Number of high severity results per host with results</summary>
          </column>
          <column>
            <name>critical_per_host</name>
            <type>integer</type>
            <summary>Number of critical severity results per host with results</summary>
          </column>
          <column>
            <name>target</name>
            <type>name</type>
            <summary>Name of the target</summary>
          </column>
          <column>
            <name>usage_type</name>
            <type>
              <alts>
                <alt>scan</alt>
                <alt>audit</alt>
              </alts>
            </type>
            <summary>Usage type</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan tasks instead</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>details</name>
        <summary>Whether to include full task details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>ignore_pagination</name>
        <summary>
          Whether to ignore info used to split the report into pages
          like the filter terms "first" and "rows"
        </summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>schedules_only</name>
        <summary>Whether to only include id, name and schedule details</summary>
        <type>boolean</type>
      </attrib>
      <attrib>
        <name>usage_type</name>
        <summary>Optional usage type to limit the tasks to. Affects total count unlike filter</summary>
        <type>
          <alts>
            <alt>scan</alt>
            <alt>audit</alt>
            <alt></alt>
          </alts>
        </type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>apply_overrides</e>
        <any><e>task</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>tasks</e>
        <e>task_count</e>
      </pattern>
      <ele>
        <name>apply_overrides</name>
        <pattern>
          <alts><alt>0</alt><alt>1</alt></alts>
        </pattern>
      </ele>
      <ele>
        <name>task</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <or>
            <g>
              <e>owner</e>
              <e>name</e>
              <e>comment</e>
              <e>creation_time</e>
              <e>modification_time</e>
              <e>writable</e>
              <e>in_use</e>
              <e>permissions</e>
              <o><e>user_tags</e></o>
              <e>status</e>
              <e>progress</e>
              <e>alterable</e>
              <e>usage_type</e>
              <e>config</e>
              <e>target</e>
              @IF_ENABLE_CONTAINER_SCANNNING@
              <o><e>oci_image_target</e></o>
              @ENDIF_ENABLE_CONTAINER_SCANNNING@
              @IF_ENABLE_AGENTS@
              <o><e>agent_group</e></o>
              @ENDIF_ENABLE_AGENTS@
              <e>hosts_ordering</e>
              <e>scanner</e>
              <e>alert</e>
              <e>observers</e>
              <e>schedule</e>
              <e>schedule_periods</e>
              <e>report_count</e>
              <e>trend</e>
              <o><e>current_report</e></o>
              <o><e>last_report</e></o>
              <o><e>average_duration</e></o>
              <e>result_count</e>
              <e>preferences</e>
            </g>
            <g>
              <e>name</e>
              <e>schedule</e>
              <e>schedule_periods</e>
            </g>
          </or>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the task</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the task</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the task</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Creation time of the task</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Last time the task was modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the task is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether this task is currently in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the task
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the task</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>status</name>
          <summary>The run status of the task</summary>
          <pattern><t>task_status</t></pattern>
        </ele>
        <ele>
          <name>progress</name>
          <summary>The percentage of the task that is complete</summary>
          <pattern>
            <t>integer</t>
          </pattern>
        </ele>
        <ele>
          <name>alterable</name>
          <summary>Whether the task is an Alterable Task</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>usage_type</name>
          <summary>The usage type of the task (scan or audit)</summary>
          <pattern>
            <alts>
              <alt>scan</alt>
              <alt>audit</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>config</name>
          <summary>The scan configuration used by the task</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the config</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the config</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the config is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>target</name>
          <summary>The hosts scanned by the task</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
              <summary>ID of target.  Empty for import tasks</summary>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the target</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the target</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the target is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        @IF_ENABLE_CONTAINER_SCANNNING@
        <ele>
          <name>oci_image_target</name>
          <summary>The OCI images scanned by the task</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
              <summary>ID of OCI image target</summary>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the OCI image target</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the target</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the target is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        @ENDIF_ENABLE_CONTAINER_SCANNNING@
        @IF_ENABLE_AGENTS@
        <ele>
          <name>agent_group</name>
          <summary>The Agent Group used by the task</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
              <summary>ID of Agent Group</summary>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the Agent Group target</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the target</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the target is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        @ENDIF_ENABLE_AGENTS@
        <ele>
          <name>hosts_ordering</name>
          <summary>The order hosts are scanned in</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>scanner</name>
          <summary>The scanner used to scan the target</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>type</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the scanner</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>type</name>
            <summary>Type of the scanner</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the scanner</summary>
            <pattern></pattern>
          </ele>
        </ele>
        <ele>
          <name>alert</name>
          <summary>An alert that applies to the task</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
            <e>trash</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the alert</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the alert</summary>
            <pattern></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the alert is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>observers</name>
          <summary>Users allowed to observe this task</summary>
          <pattern>
            <t>user_list</t>
            <any><e>group</e></any>
            <any><e>role</e></any>
          </pattern>
          <ele>
            <name>group</name>
            <summary>Group allowed to observe this task</summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the group</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
          <ele>
            <name>role</name>
            <summary>Role allowed to observe this task</summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the role</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>schedule</name>
          <summary>When the task will run</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid_or_empty</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <e>trash</e>
            <o><e>icalendar</e></o>
            <o><e>timezone</e></o>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the schedule</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>trash</name>
            <summary>Whether the schedule is in the trashcan</summary>
            <pattern><t>boolean</t></pattern>
          </ele>
          <ele>
            <name>icalendar</name>
            <summary>iCalendar text containing the time data</summary>
            <pattern><t>iso_time</t></pattern>
          </ele>
          <ele>
            <name>timezone</name>
            <summary>The timezone the schedule will follow</summary>
            <pattern>text</pattern>
          </ele>
        </ele>
        <ele>
          <name>schedule_periods</name>
          <summary>
            A limit to the number of times the task will be scheduled, or 0 for no limit
          </summary>
          <pattern>
            <t>integer</t>
          </pattern>
        </ele>
        <ele>
          <name>report_count</name>
          <summary>Number of reports</summary>
          <pattern>
            <t>integer</t>
            <e>finished</e>
          </pattern>
          <ele>
            <name>finished</name>
            <summary>Number of reports where the scan completed</summary>
            <pattern><t>integer</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>trend</name>
          <pattern><t>task_trend</t></pattern>
        </ele>
        <ele>
          <name>current_report</name>
          <pattern>
            <e>report</e>
          </pattern>
          <ele>
            <name>report</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>timestamp</e>
            </pattern>
            <ele>
              <name>timestamp</name>
              <pattern><t>iso_time</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>last_report</name>
          <pattern>
            <e>report</e>
          </pattern>
          <ele>
            <name>report</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>timestamp</e>
              <e>scan_end</e>
              <o>
                <e>result_count</e>
                <e>severity</e>
              </o>
              <o><e>compliance_count</e></o>
            </pattern>
            <ele>
              <name>timestamp</name>
              <pattern><t>iso_time</t></pattern>
            </ele>
            <ele>
              <name>scan_end</name>
              <pattern><t>iso_time</t></pattern>
            </ele>
            <ele>
              <name>result_count</name>
              <summary>Result counts for this report</summary>
              <pattern>
                <e>false_positive</e>
                <e>log</e>
                <e>info</e>
                <e>low</e>
                <e>warning</e>
                <e>medium</e>
                <e>hole</e>
                <e>high</e>
                <e>critical</e>
              </pattern>
              <ele>
                <name>false_positive</name>
                <pattern><t>integer</t></pattern>
              </ele>
              <ele>
                <name>log</name>
                <pattern><t>integer</t></pattern>
              </ele>
              <ele>
                <name>info</name>
                <pattern><t>integer</t></pattern>
                <summary>This will be deprecated. Use low instead</summary>
              </ele>
              <ele>
                <name>low</name>
                <pattern><t>integer</t></pattern>
              </ele>
              <ele>
                <name>warning</name>
                <pattern><t>integer</t></pattern>
                <summary>This will be deprecated. Use medium instead</summary>
              </ele>
              <ele>
                <name>medium</name>
                <pattern><t>integer</t></pattern>
              </ele>
              <ele>
                <name>hole</name>
                <pattern><t>integer</t></pattern>
                <summary>This will be deprecated. Use high instead</summary>
              </ele>
              <ele>
                <name>high</name>
                <pattern><t>integer</t></pattern>
              </ele>
              <ele>
                <name>critical</name>
                <pattern><t>integer</t></pattern>
              </ele>
            </ele>
            <ele>
              <name>severity</name>
              <pattern><t>severity</t></pattern>
              <summary>Maximum severity of the report</summary>
            </ele>
            <ele>
              <name>compliance_count</name>
              <summary>Complaince counts. Only for audit tasks</summary>
              <pattern>
                <e>yes</e>
                <e>no</e>
                <e>incomplete</e>
                <e>undefined</e>
              </pattern>
              <ele>
                <name>yes</name>
                <pattern><t>integer</t></pattern>
              </ele>
              <ele>
                <name>no</name>
                <pattern><t>integer</t></pattern>
              </ele>
              <ele>
                <name>incomplete</name>
                <pattern><t>integer</t></pattern>
              </ele>
              <ele>
                <name>undefined</name>
                <pattern><t>integer</t></pattern>
              </ele>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>average_duration</name>
          <summary>Average scan duration in seconds</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>result_count</name>
          <summary>Result count for the entire task</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>preferences</name>
          <pattern>
            <any><e>preference</e></any>
          </pattern>
          <ele>
            <name>preference</name>
            <pattern>
              <e>name</e>
              <e>scanner_name</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Full name of preference, suitable for end users</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>scanner_name</name>
              <summary>Compact name of preference, from scanner</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>tasks</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First task</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of tasks</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>task_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of tasks after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of tasks on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get one or many tasks</summary>
      <request>
        <get_tasks></get_tasks>
      </request>
      <response>
        <get_tasks_response status="200" status_text="OK">
          <apply_overrides>0</apply_overrides>
          <task id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
            <name>Scan Webserver</name>
            <comment>Scan of the web server.</comment>
            <creation_time>2013-01-03T13:50:03+01:00</creation_time>
            <modification_time>2013-01-11T16:03:24+01:00</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <owner>
              <name>admin</name>
            </owner>
            <observers/>
            <alterable>0</alterable>
            <config id="daba56c8-73ec-11df-a475-002264764cea">
              <name>Full and fast</name>
            </config>
            <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9">
              <name>dik</name>
            </target>
            <scanner id="34891919-37ff-5c69-1a2a-089e9018308a">
              <name>foo scanner</name>
              <type>2</type>
            </scanner>
            <status>Done</status>
            <progress>-1</progress>
            <report_count>2<finished>2</finished></report_count>
            <trend></trend>
            <schedule id="">
              <name></name>
              <trash>0</trash>
            </schedule>
            <last_report>
              <report id="f0fdf522-276d-4893-9274-fb8699dc2270">
                <timestamp>Mon Feb  1 19:11:20 2010</timestamp>
                <result_count>
                  <critical>0</critical>
                  <hole>0</hole>
                  <high>0</high>
                  <info>7</info>
                  <low>7</low>
                  <log>0</log>
                  <warning>3</warning>
                  <medium>3</medium>
                </result_count>
                <severity>5.0</severity>
              </report>
            </last_report>
            <alert id="">
              <name></name>
            </alert>
            <preferences>
              <preference>
                <name>Maximum concurrently executed NVTs per host</name>
                <scanner_name>max_checks</scanner_name>
                <value>4</value>
              </preference>
              <preference>
                <name>Maximum concurrently scanned hosts</name>
                <scanner_name>max_hosts</scanner_name>
                <value>20</value>
              </preference>
              <preference>
                <name>Add results to Asset Management</name>
                <scanner_name>in_assets</scanner_name>
                <value>yes</value>
              </preference>
            </preferences>
          </task>
          <task id="f14747d3-a4d7-4e79-99bb-a0a1276cb78c">
            <name>Scan Mailserver</name>
            <truncated>...</truncated>
          </task>
        </get_tasks_response>
      </response>
    </example>
    <example>
      <summary>Get a single task, including all reports</summary>
      <request>
        <get_tasks task_id="f14747d3-a4d7-4e79-99bb-a0a1276cb78c" details="1">
        </get_tasks>
      </request>
      <response>
        <get_tasks_response status="200" status_text="OK">
          <apply_overrides>0</apply_overrides>
          <task id="13bb418a-4220-4575-b35b-ec398bff7417">
            <name>Scan Mailserver</name>
            <comment>Scan of the web server.</comment>
            <creation_time>2013-01-03T13:50:03+01:00</creation_time>
            <modification_time>2013-01-11T16:03:24+01:00</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <owner>
              <name>admin</name>
            </owner>
            <observers/>
            <alterable>1</alterable>
            <config id="daba56c8-73ec-11df-a475-002264764cea">
              <name>Full and fast</name>
            </config>
            <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9">
              <name>dik</name>
            </target>
            <status>Done</status>
            <progress>-1</progress>
            <report_count>2<finished>2</finished></report_count>
            <trend></trend>
            <schedule id="">
              <name></name>
              <trash>0</trash>
            </schedule>
            <last_report>
              <report id="2688e6c7-db29-4505-80f1-0fd4a09e1011">
                <timestamp>Mon Feb  1 19:11:20 2010</timestamp>
                <result_count>
                  <critical>0</critical>
                  <hole>0</hole>
                  <high>0</high>
                  <info>7</info>
                  <low>7</low>
                  <log>0</log>
                  <warning>3</warning>
                  <medium>3</medium>
                </result_count>
                <severity>5.0</severity>
              </report>
            </last_report>
            <alert id="">
              <name></name>
            </alert>
            <reports>
              <report id="f0fdf522-276d-4893-9274-fb8699dc2270">
                <timestamp>Mon Feb  1 18:51:38 2010</timestamp>
                <scan_run_status>Done</scan_run_status>
                <result_count>
                  <critical>0</critical>
                  <hole>0</hole>
                  <high>0</high>
                  <info>7</info>
                  <low>7</low>
                  <log>0</log>
                  <warning>3</warning>
                  <medium>3</medium>
                </result_count>
              </report>
              <report id="2688e6c7-db29-4505-80f1-0fd4a09e1011">
                <timestamp>Mon Feb  1 19:11:20 2010</timestamp>
                <scan_run_status>Done</scan_run_status>
                <result_count>
                  <critical>0</critical>
                  <hole>0</hole>
                  <high>0</high>
                  <info>7</info>
                  <low>7</low>
                  <log>0</log>
                  <warning>3</warning>
                  <medium>3</medium>
                </result_count>
                <severity>5.0</severity>
              </report>
              <preferences>
                <preference>
                  <name>Maximum concurrently executed NVTs per host</name>
                  <scanner_name>max_checks</scanner_name>
                  <value>4</value>
                </preference>
                <preference>
                  <name>Maximum concurrently scanned hosts</name>
                  <scanner_name>max_hosts</scanner_name>
                  <value>20</value>
                </preference>
                <preference>
                  <name>Add results to Asset Management</name>
                  <scanner_name>in_assets</scanner_name>
                  <value>yes</value>
                </preference>
              </preferences>
            </reports>
          </task>
          <filters id="0">
            <term/>
          </filters>
          <sort>
            <field>name<order>ascending</order></field>
          </sort>
          <tasks max="-1" start="1"/>
          <task_count>3<filtered>1</filtered><page>1</page></task_count>
        </get_tasks_response>
      </response>
    </example>
    <example>
      <summary>Get a single import task</summary>
      <request>
        <get_tasks task_id="f404781f-6d2b-420c-b7a1-0d3f27f1a43b">
        </get_tasks>
      </request>
      <response>
        <get_tasks_response status="200" status_text="OK">
          <apply_overrides>0</apply_overrides>
          <task id="f404781f-6d2b-420c-b7a1-0d3f27f1a43b">
            <owner>
              <name>m</name>
            </owner>
            <name>Import Example</name>
            <comment>This task provides for uploading reports</comment>
            <creation_time>2019-08-13T12:28:43+02:00</creation_time>
            <modification_time>
            2019-08-13T12:28:44+02:00</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <alterable>0</alterable>
            <usage_type>scan</usage_type>
            <config id="">
              <name></name>
              <type>-1</type>
              <trash>0</trash>
            </config>
            <target id="">
              <name></name>
              <trash>0</trash>
            </target>
            <hosts_ordering></hosts_ordering>
            <scanner id=''>
              <name></name>
              <type>0</type>
              <trash>0</trash>
            </scanner>
            <status>Done</status>
            <progress>-1</progress>
            <report_count>1
              <finished>1</finished></report_count>
            <trend></trend>
            <schedule id="">
              <name></name>
              <trash>0</trash>
            </schedule>
            <last_report>
              <report id="5496f417-9b3b-4582-b450-c05ca99009d8">
                <timestamp>2019-08-13T12:29:25+02:00</timestamp>
                <scan_start>2019-04-24T14:26:01+02:00</scan_start>
                <scan_end>2019-04-24T14:50:59+02:00</scan_end>
                <result_count>
                  <critical>0</critical>
                  <hole>1</hole>
                  <high>1</high>
                  <info>0</info>
                  <low>0</low>
                  <log>77</log>
                  <warning>8</warning>
                  <medium>8</medium>
                  <false_positive>0</false_positive>
                </result_count>
                <severity>9.0</severity>
              </report>
            </last_report>
            <observers></observers>
            <preferences>
              <preference>
                <name>Maximum concurrently executed NVTs per host</name>
                <scanner_name>max_checks</scanner_name>
                <value>4</value>
              </preference>
              <truncated>...</truncated>
            </preferences>
          </task>
          <filters id="">
            <term>apply_overrides=0 min_qod=70
            uuid=f404781f-6d2b-420c-b7a1-0d3f27f1a43b first=1 rows=10
            sort=name</term>
            <keywords>
              <keyword>
                <column>apply_overrides</column>
                <relation>=</relation>
                <value>0</value>
              </keyword>
              <truncated>...</truncated>
            </keywords>
          </filters>
          <sort>
            <field>
              name
              <order>ascending</order>
            </field>
          </sort>
          <tasks start="1" max="10" />
          <task_count>
            21
            <filtered>1</filtered>
            <page>1</page>
          </task_count>
        </get_tasks_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_tickets</name>
    <summary>Get one or many tickets</summary>
    <description>
      The client uses the get_tickets command to get ticket information.
    </description>
    <pattern>
      <attrib>
        <name>ticket_id</name>
        <summary>ID of single ticket to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Severity of the ticket result</summary>
          </column>
          <column>
            <name>host</name>
            <type>text</type>
            <summary>Host of the ticket result</summary>
          </column>
          <column>
            <name>location</name>
            <type>text</type>
            <summary>Location of the ticket result</summary>
          </column>
          <column>
            <name>solution_type</name>
            <type>text</type>
            <summary>Solution type of the ticket result</summary>
          </column>
          <column>
            <name>status</name>
            <type>ticket_status</type>
            <summary>Ticket status</summary>
          </column>
          <column>
            <name>opened</name>
            <type>iso_time</type>
            <summary>Time ticket was opened</summary>
          </column>
          <column>
            <name>fixed</name>
            <type>iso_time</type>
            <summary>Time ticket was fixed</summary>
          </column>
          <column>
            <name>closed</name>
            <type>iso_time</type>
            <summary>Time ticket was closed</summary>
          </column>
          <column>
            <name>orphan</name>
            <type>boolean</type>
            <summary>Whether the ticket is missing a task or report</summary>
          </column>
          <column>
            <name>result_id</name>
            <type>uuid</type>
            <summary>UUID of the result referenced by the ticket</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>trash</name>
        <summary>Whether to get the trashcan tickets instead</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>ticket</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>tickets</e>
        <e>ticket_count</e>
      </pattern>
      <ele>
        <name>ticket</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>nvt</e>
          <o><e>result</e></o>
          <e>assigned_to</e>
          <o><e>task</e></o>
          <o><e>report</e></o>
          <e>severity</e>
          <e>host</e>
          <e>location</e>
          <e>solution_type</e>
          <e>status</e>
          <e>open_time</e>
          <e>open_note</e>
          <o><e>fixed_time</e></o>
          <o><e>fixed_note</e></o>
          <o><e>closed_time</e></o>
          <o><e>closed_note</e></o>
          <o><e>fix_verified_time</e></o>
          <o><e>fix_verified_report</e></o>
          <e>orphan</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the ticket</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of ticket result's NVT</summary>
          <pattern><t>name</t></pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the ticket</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Date and time the ticket was created</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Date and time the ticket was last modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the ticket is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether the ticket is in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the ticket
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the ticket</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>nvt</name>
          <summary>The NVT the ticket refers to</summary>
          <pattern>
            <attrib>
              <name>oid</name>
              <type>oid</type>
              <required>1</required>
              <summary>OID of the NVT</summary>
            </attrib>
          </pattern>
        </ele>
        <ele>
          <name>result</name>
          <summary>The ticket's result</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
          </pattern>
        </ele>
        <ele>
          <name>assigned_to</name>
          <pattern>
            <e>user</e>
          </pattern>
          <ele>
            <name>user</name>
            <summary>The user the ticket is assigned to</summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>task</name>
          <summary>The ticket's task</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
          </pattern>
        </ele>
        <ele>
          <name>report</name>
          <summary>The ticket's report</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
          </pattern>
        </ele>
        <ele>
          <name>severity</name>
          <summary>The ticket result's severity</summary>
          <pattern>
            <t>severity</t>
          </pattern>
        </ele>
        <ele>
          <name>host</name>
          <summary>The ticket result's host</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>location</name>
          <summary>The ticket result's location</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>solution_type</name>
          <summary>The ticket result's solution_type</summary>
          <pattern>
            text
          </pattern>
        </ele>
        <ele>
          <name>status</name>
          <summary>The ticket's status</summary>
          <pattern><t>ticket_status</t></pattern>
        </ele>
        <ele>
          <name>open_time</name>
          <summary>Date and time the ticket was opened</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>open_note</name>
          <summary>A note on the Closed status</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>fixed_time</name>
          <summary>Date and time the ticket was set to fixed</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>fixed_note</name>
          <summary>The note on the Fixed status</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>closed_time</name>
          <summary>Date and time the ticket was closed</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>closed_note</name>
          <summary>The note on the Closed status</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>fix_verified_time</name>
          <summary>Date and time the ticket was verified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>fix_verified_report</name>
          <summary>The report that verified the ticket</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
          </pattern>
        </ele>
        <ele>
          <name>orphan</name>
          <summary>Whether the ticket is an orphan</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>tickets</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First ticket</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of tickets</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>ticket_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of tickets after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of tickets on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get all tickets</summary>
      <request>
        <get_tickets></get_tickets>
      </request>
      <response>
        <get_tickets_response status_text="OK" status="200">
          <ticket id="93cd2f71-48c3-4cf2-b542-5b256f59cae0">
            <owner>
              <name>joe</name>
            </owner>
            <name>OpenSSH Denial of Service Vulnerability - Jan16</name>
            <comment></comment>
            <creation_time>2018-11-29T16:18:56Z</creation_time>
            <modification_time>2018-11-29T16:18:56Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <assigned_to>
              <user id="33e92d3e-a379-4c46-a4cf-88c8201ab710"></user>
            </assigned_to>
            <task id="6f559abf-23ca-4dc8-a90a-3acba021f4ff"></task>
            <report id="f0f063cd-07e4-470a-8c66-b5d095d190cd"></report>
            <severity>5.0</severity>
            <host>127.0.0.1</host>
            <location>1111/tcp</location>
            <solution_type>VendorFix</solution_type>
            <status>Open</status>
            <open_time>2018-11-29T16:18:56Z</open_time>
            <open_note>Probably the new version fixes this</open_note>
            <result id="138c1216-4acb-4ded-bef3-7fab80eac8c7"></result>
          </ticket>
          <filters id="">
            <term>first=1 rows=1000 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <keyword>
                <column>rows</column>
                <relation>=</relation>
                <value>1000</value>
              </keyword>
              <keyword>
                <column>sort</column>
                <relation>=</relation>
                <value>name</value>
              </keyword>
            </keywords>
          </filters>
          <sort>
            <field>name
              <order>ascending</order>
            </field>
          </sort>
          <tickets max="1000" start="1"></tickets>
          <ticket_count>2
            <filtered>2</filtered>
            <page>2</page>
          </ticket_count>
        </get_tickets_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_tls_certificates</name>
    <summary>Get one or many TLS certificates</summary>
    <description>
      <p>
        The client uses the "get_tls_certificates" command to retrieve one
        or more TLS certificates.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>tls_certificate_id</name>
        <summary>ID of single TLS certificate to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <option>
            <name>host_id</name>
            <type>uuid</type>
            <summary>UUID of the host asset where the certificate must be found</summary>
          </option>
          <option>
            <name>report_id</name>
            <type>uuid</type>
            <summary>UUID of the report the cerificate must appear in</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>subject_dn</name>
            <type>text</type>
            <summary>
              Distinguished name (DN) of the certificate subject
            </summary>
          </column>
          <column>
            <name>issuer_dn</name>
            <type>text</type>
            <summary>
              Distinguished name (DN) of the certificate issuer
            </summary>
          </column>
          <column>
            <name>sha256_fingerprint</name>
            <type>text</type>
            <summary>
              SHA256 fingerprint of the certificate
            </summary>
          </column>
          <column>
            <name>md5_fingerprint</name>
            <type>text</type>
            <summary>
              MD5 fingerprint of the certificate
            </summary>
          </column>
          <column>
            <name>time_status</name>
            <summary>
              Whether the certificate is valid, expired or not active yet
            </summary>
            <pattern>
              <alts>
                <alt>expired</alt>
                <alt>inactive</alt>
                <alt>unknown</alt>
                <alt>valid</alt>
              </alts>
            </pattern>
          </column>
          <column>
            <name>activates</name>
            <type>iso_time</type>
            <summary>Time before which the certificate is not valid</summary>
          </column>
          <column>
            <name>expires</name>
            <type>iso_time</type>
            <summary>Time after which the certificate is not valid</summary>
          </column>
          <column>
            <name>valid</name>
            <type>boolean</type>
            <summary>Whether the certificate is currently valid</summary>
          </column>
          <column>
            <name>serial</name>
            <type>text</type>
            <summary>
              Hexadecimal serial number of the certificate
            </summary>
          </column>
          <column>
            <name>last_seen</name>
            <type>iso_time</type>
            <summary>Most recent time the TLS certificate was imported or found in a scan</summary>
          </column>
          <column>
            <name>certificate_format</name>
            <type>
              <alts>
                <alt>DER</alt>
                <alt>PEM</alt>
                <alt>unknown</alt>
              </alts>
            </type>
            <summary>
              File format of the certificate
            </summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>include_certificate_data</name>
        <summary>Whether to include certificate_data even if details are not requested</summary>
        <type>boolean</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>tls_certificate</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>tls_certificates</e>
        <e>tls_certificate_count</e>
      </pattern>
      <ele>
        <name>tls_certificate</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>ID of TLS certificate</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <e>permissions</e>
          <e>certificate</e>
          <e>sha256_fingerprint</e>
          <e>md5_fingerprint</e>
          <e>trust</e>
          <e>time_status</e>
          <e>activation_time</e>
          <e>expiration_time</e>
          <e>subject_dn</e>
          <e>issuer_dn</e>
          <e>serial</e>
          <e>last_seen</e>
          <o><e>sources</e></o>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the TLS certificate</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the TLS certificate</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the TLS certificate</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Creation time of the TLS certificate</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Last time the TLS certificate was modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the TLS certificate is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether this TLS certificate is currently in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the TLS certificate
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>certificate</name>
          <summary>The Base64 encoded certificate data if details are requested, empty otherwise</summary>
          <pattern>
            <attrib>
              <name>format</name>
              <summary>The format of the certificate</summary>
              <type>
                <alts>
                  <alt>DER</alt>
                  <alt>PEM</alt>
                  <alt>unknown</alt>
                </alts>
              </type>
              <required>1</required>
            </attrib>
          </pattern>
        </ele>
        <ele>
          <name>md5_fingerprint</name>
          <summary>The MD5 fingerprint of the certificate</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>sha256_fingerprint</name>
          <summary>The SHA256 fingerprint of the certificate</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>trust</name>
          <summary>Whether the certificate is trusted</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>valid</name>
          <summary>Whether the certificate is currently valid</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>time_status</name>
          <summary>
            Whether the certificate is valid, expired or not active yet
          </summary>
          <pattern>
            <alts>
              <alt>expired</alt>
              <alt>inactive</alt>
              <alt>unknown</alt>
              <alt>valid</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>activation_time</name>
          <summary>Time before which the certificate is not valid</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>expiration_time</name>
          <summary>Time after which the certificate is not valid</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>subject_dn</name>
          <summary>Distinguished name (DN) of the certificate subject</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>issuer_dn</name>
          <summary>Distinguished name (DN) of the certificate issuer</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>serial</name>
          <summary>Hexadecimal serial number of the certificate</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>last_seen</name>
          <summary>Most recent time the TLS certificate was imported or found in a scan</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>sources</name>
          <summary>List of sources</summary>
          <pattern>
            <any><e>source</e></any>
          </pattern>
          <ele>
            <name>source</name>
            <summary>A certificate source</summary>
            <pattern>
              <attrib>
                <name>id</name>
                <summary>UUID of the source</summary>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>timestamp</e>
              <e>tls_versions</e>
              <o><e>location</e></o>
              <e>origin</e>
            </pattern>
            <ele>
              <name>timestamp</name>
              <summary>Time the certificate was found or imported</summary>
              <pattern><t>iso_time</t></pattern>
            </ele>
            <ele>
              <name>tls_versions</name>
              <summary>SSL and TLS versions of the service using the certificate, separated with &quot;, &quot;</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>location</name>
              <summary>A location where the certificate was found</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <summary>UUID of the location</summary>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>host</e>
                <e>port</e>
              </pattern>
              <ele>
                <name>host</name>
                <summary>Host where the certificate was found</summary>
                <pattern>
                  <e>ip</e>
                  <e>asset</e>
                </pattern>
                <ele>
                  <name>ip</name>
                  <summary>IP address of the host</summary>
                  <pattern>text</pattern>
                </ele>
                <ele>
                  <name>asset</name>
                  <summary>Host asset</summary>
                  <pattern>
                    <attrib>
                      <name>id</name>
                      <summary>UUID of the host asset</summary>
                      <type>uuid</type>
                      <required>0</required>
                    </attrib>
                  </pattern>
                </ele>
              </ele>
              <ele>
                <name>port</name>
                <summary>Port where the certificate was found</summary>
                <pattern><t>integer</t></pattern>
              </ele>
            </ele>
            <ele>
              <name>origin</name>
              <summary>Origin of the certificate data, e.g. a scan report</summary>
              <pattern>
                <attrib>
                  <name>id</name>
                  <summary>UUID of the location</summary>
                  <type>uuid</type>
                  <required>1</required>
                </attrib>
                <e>origin_type</e>
                <e>origin_id</e>
                <e>origin_data</e>
                <o><e>report</e></o>
              </pattern>
              <ele>
                <name>origin_type</name>
                <summary>Type of origin, e.g. &quot;Import&quot; or &quot;Report&quot;</summary>
                <pattern>text</pattern>
              </ele>
              <ele>
                <name>origin_id</name>
                <summary>Identifier of origin, e.g. a report UUID</summary>
                <pattern>text</pattern>
              </ele>
              <ele>
                <name>origin_data</name>
                <summary>Extra origin data, e.g. OID of the detection NVT</summary>
                <pattern>text</pattern>
              </ele>
              <ele>
                <name>report</name>
                <summary>Report data if the origin is a report</summary>
                <pattern>
                  <attrib>
                    <name>id</name>
                    <summary>UUID of the report</summary>
                    <type>uuid</type>
                    <required>0</required>
                  </attrib>
                  <e>date</e>
                  <e>task</e>
                </pattern>
                <ele>
                  <name>date</name>
                  <summary>Timestamp of the report</summary>
                  <pattern>
                    <t>iso_time</t>
                  </pattern>
                </ele>
                <ele>
                  <name>task</name>
                  <summary>Task the report belongs to</summary>
                  <pattern>
                    <attrib>
                      <name>id</name>
                      <summary>UUID of the task</summary>
                      <type>uuid</type>
                      <required>1</required>
                    </attrib>
                    <e>name</e>
                  </pattern>
                  <ele>
                    <name>name</name>
                    <summary>Name of the task</summary>
                    <pattern>text</pattern>
                  </ele>
                </ele>
              </ele>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>tls_certificates</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First TLS certificate</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of TLS certificates</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>tls_certificate_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of TLS certificate after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of TLS certificate on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the TLS certificates</summary>
      <request>
        <get_tls_certificates></get_tls_certificates>
      </request>
      <response>
        <get_tls_certificates_response status="200" status_text="OK">
          <tls_certificate id="ba36ed15-92fa-4ae0-af53-bad8ce472f18">
            <owner>
              <name>admin</name>
            </owner>
            <name>Example Certificate</name>
            <comment></comment>
            <creation_time>2019-06-12T14:36:53Z</creation_time>
            <modification_time>2019-06-13T08:56:36Z</modification_time>
            <writable>1</writable>
            <in_use>0</in_use>
            <permissions>
              <permission>
                <name>Everything</name>
              </permission>
            </permissions>
            <certificate format="DER">MIIDNjCCAp+gAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELM[...]</certificate>
            <md5_fingerprint>ba:ec:16:30:27:ca:99:17:ff:df:a4:4c:bc:bf:1b:98</md5_fingerprint>
            <trust>1</trust>
            <valid>1</valid>
            <activation_time>2019-02-26T14:24:15Z</activation_time>
            <expiration_time>2021-02-25T14:24:15Z</expiration_time>
            <subject_dn>CN=localhost,O=GVM Users,L=Osnabrueck,C=DE</subject_dn>
            <issuer_dn>OU=Certificate Authority for localhost,O=GVM Users,L=Osnabrueck,C=DE</issuer_dn>
          </tls_certificate>
          <filters id="">
            <term>first=1 rows=10 sort=name</term>
            <keywords>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <keyword>
                <column>rows</column>
                <relation>=</relation>
                <value>1000</value>
              </keyword>
              <keyword>
                <column>sort</column>
                <relation>=</relation>
                <value>name</value>
              </keyword>
            </keywords>
          </filters>
          <sort>
            <field>name<order>ascending</order></field>
          </sort>
          <tls_certificates start="1" max="10"/>
          <tls_certificate_count>1
            <filtered>1</filtered>
            <page>1</page>
          </tls_certificate_count>
        </get_tls_certificates_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_users</name>
    <summary>Get one or many users</summary>
    <description>
      <p>
        The client uses the "get_users" command to retrieve the list of user
        accounts on the Scanner.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>user_id</name>
        <summary>ID of single user to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>comment</name>
            <type>text</type>
            <summary>Comment text</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>owner</name>
            <type>name</type>
            <summary>Name of the owner</summary>
          </column>
          <column>
            <name>method</name>
            <type>text</type>
            <summary>Methods allowed for authentication</summary>
          </column>
          <column>
            <name>roles</name>
            <type>text</type>
            <summary>Comma-separated list of roles</summary>
          </column>
          <column>
            <name>groups</name>
            <type>text</type>
            <summary>Comma-separated list of groups</summary>
          </column>
          <column>
            <name>hosts</name>
            <type>text</type>
            <summary>List of host that are either allowed of forbidden</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>user</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>users</e>
        <e>user_count</e>
      </pattern>
      <ele>
        <name>user</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>ID of user</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>owner</e>
          <e>name</e>
          <e>comment</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>writable</e>
          <e>in_use</e>
          <any><e>role</e></any>
          <e>groups</e>
          <e>hosts</e>
          <e>permissions</e>
          <o><e>user_tags</e></o>
          <e>sources</e>
        </pattern>
        <ele>
          <name>owner</name>
          <summary>Owner of the user</summary>
          <pattern>
            <e>name</e>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The name of the owner</summary>
            <pattern><t>name</t></pattern>
          </ele>
        </ele>
        <ele>
          <name>name</name>
          <summary>The name of the user</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>comment</name>
          <summary>The comment on the user</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Creation time of the user</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Last time the user was modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>writable</name>
          <summary>Whether the user is writable</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>in_use</name>
          <summary>Whether this user is currently in use</summary>
          <pattern><t>boolean</t></pattern>
        </ele>
        <ele>
          <name>role</name>
          <summary>The role of the user</summary>
          <pattern>
            <attrib>
              <name>id</name>
              <type>uuid</type>
              <required>1</required>
            </attrib>
            <e>name</e>
            <o><e>permissions</e></o>
          </pattern>
          <ele>
            <name>name</name>
            <summary>Name of role</summary>
            <pattern><t>name</t></pattern>
          </ele>
          <ele>
            <name>permissions</name>
            <summary>Permissions the user has on the role</summary>
            <pattern></pattern>
          </ele>
        </ele>
        <ele>
          <name>groups</name>
          <summary>The groups the user belongs to</summary>
          <pattern>
            <e>group</e>
          </pattern>
          <ele>
            <name>group</name>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <required>1</required>
              </attrib>
              <e>name</e>
              <o><e>permissions</e></o>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of group</summary>
              <pattern><t>name</t></pattern>
            </ele>
            <ele>
              <name>permissions</name>
              <summary>Permissions the user has on the group</summary>
              <pattern></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>hosts</name>
          <summary>Host access rule for the user</summary>
          <pattern>
            <attrib>
              <name>allow</name>
              <summary>0 forbidden, 1 allowed, 2 all allowed, 3 custom</summary>
              <type>
                <alts>
                  <alt>0</alt>
                  <alt>1</alt>
                  <alt>2</alt>
                  <alt>3</alt>
                </alts>
              </type>
              <required>1</required>
            </attrib>
            text
          </pattern>
        </ele>
        <ele>
          <name>permissions</name>
          <summary>
            Permissions that the current user has on the user
          </summary>
          <pattern>
            <any><e>permission</e></any>
          </pattern>
          <ele>
            <name>permission</name>
            <pattern>
              <e>name</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the permission</summary>
              <pattern><t>name</t></pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>user_tags</name>
          <summary>Info on tags attached to the user</summary>
          <pattern>
            <e>count</e>
            <any><e>tag</e></any>
          </pattern>
          <ele>
            <name>count</name>
            <summary>Number of attached tags</summary>
            <pattern><t>integer</t></pattern>
          </ele>
          <ele>
            <name>tag</name>
            <summary>
              Short info on an individual tag
              (only if details were requested)
            </summary>
            <pattern>
              <attrib>
                <name>id</name>
                <type>uuid</type>
                <summary>UUID of the tag</summary>
                <required>1</required>
              </attrib>
              <e>name</e>
              <e>value</e>
              <e>comment</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>Name of the tag (usually namespace:predicate)</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>Value of the tag</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>comment</name>
              <summary>Comment for the tag</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
        <ele>
          <name>sources</name>
          <summary>Sources allowed for authentication for this user</summary>
          <pattern>
            <any><e>source</e></any>
          </pattern>
          <ele>
            <name>source</name>
            <summary>Authentication source</summary>
            <pattern>
              <alts>
                <alt>file</alt>
                <alt>ldap_connect</alt>
                <alt>radius_connect</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>users</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First user</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of users</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>user_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of users after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of users on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the users</summary>
      <request>
        <get_users></get_users>
      </request>
      <response>
        <get_users_response status="200" status_text="OK">
          <user>
            <name>foobar</name>
            <role id="8d453140-b74d-11e2-b0be-406186ea4fc5">
              <name>User</name>
            </role>
            <hosts allow="2"></hosts>
            <sources><source>file</source></sources>
          </user>
        </get_users_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_version</name>
    <summary>Get the Greenbone Management Protocol version</summary>
    <pattern></pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>version</e>
      </pattern>
      <ele>
        <name>version</name>
        <pattern>text</pattern>
      </ele>
    </response>
    <example>
      <summary>Get the version</summary>
      <request>
        <get_version></get_version>
      </request>
      <response>
        <get_version_response status="200" status_text="OK">
          <version>1.0</version>
        </get_version_response>
      </response>
    </example>
  </command>
  <command>
    <name>get_vulns</name>
    <summary>Get one or many vulnerabilities</summary>
    <description>
      <p>
        The client uses the "get_vulns" command to retrieve the list of
        vulnerabilities occurring in reports.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>vuln_id</name>
        <summary>ID of single vulnerability to get</summary>
        <type>uuid</type>
      </attrib>
      <attrib>
        <name>filter</name>
        <summary>Filter term to use to filter query</summary>
        <type>text</type>
        <filter_keywords>
          <option>
            <name>first</name>
            <type>integer</type>
            <summary>
              Index of the first item returned, starting at 1 (e.g. first=5
              starts at the 5th item)
            </summary>
          </option>
          <option>
            <name>rows</name>
            <type>integer</type>
            <summary>Number of items to return</summary>
          </option>
          <option>
            <name>sort</name>
            <type>text</type>
            <summary>Column to sort by in ascending order</summary>
          </option>
          <option>
            <name>sort-reverse</name>
            <type>text</type>
            <summary>Column to sort by in descending order</summary>
          </option>
          <option>
            <name>min_qod</name>
            <type>integer</type>
            <summary>Minimum QoD of the vulnerability</summary>
          </option>
          <option>
            <name>task_id</name>
            <type>UUID</type>
            <summary>UUID of the task to limit the selected vulnerabilities to</summary>
          </option>
          <option>
            <name>report_id</name>
            <type>UUID</type>
            <summary>UUID of the report to limit the selected vulnerabilities to</summary>
          </option>
          <option>
            <name>host</name>
            <type>text</type>
            <summary>IP address of the host to limit the selected vulnerabilities to</summary>
          </option>
          <column>
            <name>tag</name>
            <type>text</type>
            <summary>
              Name and optional "=" separted value of an attached tag
              (e.g. "mytag" or "mytag=myvalue")
            </summary>
          </column>
          <column>
            <name>tag_id</name>
            <type>UUID</type>
            <summary>
              UUID of an attached tag
            </summary>
          </column>
          <column>
            <name>uuid</name>
            <type>uuid</type>
            <summary>Unique ID</summary>
          </column>
          <column>
            <name>name</name>
            <type>name</type>
            <summary>Name</summary>
          </column>
          <column>
            <name>created</name>
            <type>iso_time</type>
            <summary>Creation time</summary>
          </column>
          <column>
            <name>modified</name>
            <type>iso_time</type>
            <summary>Modification time</summary>
          </column>
          <column>
            <name>results</name>
            <type>integer</type>
            <summary>Number of results</summary>
          </column>
          <column>
            <name>hosts</name>
            <type>integer</type>
            <summary>Number of hosts</summary>
          </column>
          <column>
            <name>severity</name>
            <type>severity</type>
            <summary>Severity of the vulnerability</summary>
          </column>
          <column>
            <name>qod</name>
            <type>integer</type>
            <summary>QoD of the vulnerability</summary>
          </column>
          <column>
            <name>oldest</name>
            <type>iso_time</type>
            <summary>Timestamp of the oldest result</summary>
          </column>
          <column>
            <name>newest</name>
            <type>iso_time</type>
            <summary>Timestamp of the newest result</summary>
          </column>
          <column>
            <name>type</name>
            <type>text</type>
            <summary>Type of vulnerability like NVT or CVE</summary>
          </column>
        </filter_keywords>
      </attrib>
      <attrib>
        <name>filt_id</name>
        <summary>ID of filter to use to filter query</summary>
        <type>uuid</type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <any><e>vuln</e></any>
        <e>filters</e>
        <e>sort</e>
        <e>vulns</e>
        <e>vuln_count</e>
      </pattern>
      <ele>
        <name>vuln</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>ID of vulnerability</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>name</e>
          <e>creation_time</e>
          <e>modification_time</e>
          <e>severity</e>
          <e>qod</e>
          <e>results</e>
          <e>hosts</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the user</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>type</name>
          <summary>The type of vulnerability</summary>
          <pattern>
            <alts>
              <alt>nvt</alt>
              <alt>cve</alt>
            </alts>
          </pattern>
        </ele>
        <ele>
          <name>creation_time</name>
          <summary>Creation time of the user</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>modification_time</name>
          <summary>Last time the user was modified</summary>
          <pattern><t>iso_time</t></pattern>
        </ele>
        <ele>
          <name>severity</name>
          <summary>Severity of the vulnerability</summary>
          <pattern>
            <t>severity</t>
          </pattern>
        </ele>
        <ele>
          <name>qod</name>
          <summary>Quality of detection (QoD) of the vulnerability</summary>
          <pattern>
            <t>integer</t>
          </pattern>
        </ele>
        <ele>
          <name>results</name>
          <pattern>
            <e>count</e>
            <e>oldest</e>
            <e>newest</e>
          </pattern>
          <ele>
            <name>count</name>
            <summary>The number of results for the vulnerability</summary>
            <pattern>
              <t>integer</t>
            </pattern>
          </ele>
          <ele>
            <name>oldest</name>
            <summary>Timestamp of the oldest result</summary>
            <pattern>
              <t>iso_time</t>
            </pattern>
          </ele>
          <ele>
            <name>newest</name>
            <summary>Timestamp of the newest result</summary>
            <pattern>
              <t>iso_time</t>
            </pattern>
          </ele>
        </ele>
        <ele>
          <name>hosts</name>
          <pattern>
            <e>count</e>
          </pattern>
          <ele>
            <name>count</name>
            <summary>
              The number of hosts where the vulnerability was detected
            </summary>
            <pattern>
              <t>integer</t>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>filters</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>UUID of filter if any, else 0</summary>
            <type>uuid</type>
            <required>1</required>
          </attrib>
          <e>term</e>
          <o><e>name</e></o>
          <e>keywords</e>
        </pattern>
        <ele>
          <name>term</name>
          <summary>Filter term</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>name</name>
          <summary>Filter name, if applicable</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>keywords</name>
          <summary>Filter broken down into keywords</summary>
          <pattern><any><e>keyword</e></any></pattern>
          <ele>
            <name>keyword</name>
            <pattern>
              <e>column</e>
              <e>relation</e>
              <e>value</e>
            </pattern>
            <ele>
              <name>column</name>
              <summary>Column prefix</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>relation</name>
              <summary>Relation operator</summary>
              <pattern>
                <alts>
                  <alt>=</alt>
                  <alt>:</alt>
                  <alt>~</alt>
                  <alt>&gt;</alt>
                  <alt>&lt;</alt>
                </alts>
              </pattern>
            </ele>
            <ele>
              <name>value</name>
              <summary>The filter text</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>sort</name>
        <pattern>
          text
          <e>field</e>
        </pattern>
        <ele>
          <name>field</name>
          <pattern>
            <e>order</e>
          </pattern>
          <ele>
            <name>order</name>
            <pattern>
              <alts>
                <alt>ascending</alt>
                <alt>descending</alt>
              </alts>
            </pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>vulns</name>
        <pattern>
          <attrib>
            <name>start</name>
            <summary>First vulnerability</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
          <attrib>
            <name>max</name>
            <summary>Maximum number of vulnerabilities</summary>
            <type>integer</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>vuln_count</name>
        <pattern>
          <e>filtered</e>
          <e>page</e>
        </pattern>
        <ele>
          <name>filtered</name>
          <summary>Number of vulnerabilities after filtering</summary>
          <pattern><t>integer</t></pattern>
        </ele>
        <ele>
          <name>page</name>
          <summary>Number of vulnerabilities on current page</summary>
          <pattern><t>integer</t></pattern>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the vulnerabilities</summary>
      <request>
        <get_vulns></get_vulns>
      </request>
      <response>
        <get_vulns_response status="200" status_text="OK">
          <vuln id="1.3.6.1.4.1.25623.1.0.808160">
            <name>7Zip UDF CInArchive::ReadFileItem Code Execution Vulnerability</name>
            <type>nvt</type>
            <creation_time>2016-06-13T12:57:54+01:00</creation_time>
            <modification_time>2016-12-07T07:43:41+01:00</modification_time>
            <severity>6.8</severity>
            <qod>97</qod>
            <results>
              <count>12</count>
              <oldest>2017-03-21T09:27:44+01:00</oldest>
              <newest>2017-03-21T09:46:42+01:00</newest>
            </results>
            <hosts>
              <count>1</count>
            </hosts>
          </vuln>
          <truncate>...</truncate>
          <filters id="0">
            <term>rows=10 first=1 sort=name</term>
            <keywords>
              <keyword>
                <column>rows</column>
                <relation>=</relation>
                <value>10</value>
              </keyword>
              <keyword>
                <column>first</column>
                <relation>=</relation>
                <value>1</value>
              </keyword>
              <keyword>
                <column>sort</column>
                <relation>=</relation>
                <value>name</value>
              </keyword>
            </keywords>
          </filters>
          <sort>
            <field>
              name
              <order>ascending</order>
            </field>
          </sort>
          <vulns start="1" max="10"/>
          <vuln_count>
            1648
            <filtered>1396</filtered>
            <page>10</page>
          </vuln_count>
        </get_vulns_response>
      </response>
    </example>
  </command>
  <command>
    <name>help</name>
    <summary>Get the help text</summary>
    <pattern>
      <attrib>
        <name>format</name>
        <summary>Required help format</summary>
        <type>
          <alts>
            <alt>html</alt>
            <alt>HTML</alt>
            <alt>rnc</alt>
            <alt>RNC</alt>
            <alt>text</alt>
            <alt>TEXT</alt>
            <alt>xml</alt>
            <alt>XML</alt>
          </alts>
        </type>
      </attrib>
      <attrib>
        <name>type</name>
        <summary>Help type, currently only blank or "brief" for XML format</summary>
        <type>
          <alts>
            <alt>brief</alt>
            <alt></alt>
          </alts>
        </type>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <o><e>schema</e></o>
        text
      </pattern>
      <ele>
        <name>schema</name>
        <pattern><e>protocol</e></pattern>
        <ele>
          <name>protocol</name>
          <pattern>
            <attrib>
              <name>format</name>
              <summary>The help format</summary>
              <type>
                text
              </type>
            </attrib>
            <attrib>
              <name>extension</name>
              <summary>The suggested file extension for the help</summary>
              <type>
                text
              </type>
            </attrib>
            <attrib>
              <name>content_type</name>
              <summary>The MIME content-type of the help</summary>
              <type>
                text
              </type>
            </attrib>
            <e>name</e>
            <o><e>abbreviation</e></o>
            <o><e>summary</e></o>
            <o><e>version</e></o>
            <any><e>type</e></any>
            <any><e>command</e></any>
          </pattern>
          <ele>
            <name>name</name>
            <summary>The full name of the protocol</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>abbreviation</name>
            <summary>The abbreviated name of the protocol</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>summary</name>
            <summary>A summary of the protocol</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>version</name>
            <summary>The version number of the protocol</summary>
            <pattern>text</pattern>
          </ele>
          <ele>
            <name>type</name>
            <summary>A data type</summary>
            <pattern>
              <e>name</e>
              <o><e>summary</e></o>
              <o><e>description</e></o>
              <e>pattern</e>
            </pattern>
            <ele>
              <name>name</name>
              <summary>The name of the data type</summary>
              <pattern><t>type_name</t></pattern>
            </ele>
            <ele>
              <name>summary</name>
              <summary>A summary of the data type</summary>
              <pattern>text</pattern>
            </ele>
            <ele>
              <name>description</name>
              <summary>A description of the data type</summary>
              <pattern>
                <any><e>p</e></any>
                text
              </pattern>
              <ele>
                <name>p</name>
                <summary>A paragraph</summary>
                <pattern>text</pattern>
              </ele>
            </ele>
            <ele>
              <name>pattern</name>
              <summary>The RNC pattern for the data type</summary>
              <pattern>text</pattern>
            </ele>
          </ele>
          <ele>
            <name>command</name>
            <summary>A command</summary>
            <type>command_definition</type>
          </ele>
        </ele>
      </ele>
    </response>
    <example>
      <summary>Get the help text</summary>
      <request>
        <help></help>
      </request>
      <response>
        <help_response status="200" status_text="OK">
    AUTHENTICATE           Authenticate with the manager.
    CREATE_ALERT           Create an alert.
    ...
    VERIFY_SCANNER         Verify a scanner.
        </help_response>
      </response>
    </example>
    <example>
      <summary>Get the GMP schema</summary>
      <request>
        <help format="XML"></help>
      </request>
      <response>
        <help_response status="200" status_text="OK">
          <schema format="XML" extension="xml" content_type="text/xml">
            <protocol>
              <name>Greenbone Management Protocol</name>
              <abbreviation>GMP</abbreviation>
              <summary>The management protocol of the Greenbone Vulnerability Manager</summary>
              <version>@GMP_VERSION@</version>
              <truncated>...</truncated>
              <type>
                <name>base64</name>
                <summary>Base64 encoded data</summary>
                <pattern>xsd:base64Binary</pattern>
              </type>
              <truncated>...</truncated>
              <command>
                <name>authenticate</name>
                <summary>Authenticate with the manager</summary>
                <truncated>...</truncated>
              </command>
              <truncated>...</truncated>
            </protocol>
          </schema>
        </help_response>
      </response>
    </example>
  </command>
  @IF_ENABLE_AGENTS@
  <command>
    <name>modify_agent_control_scan_config</name>
    <summary>Modify agents</summary>
    <description>
      <p>
        The client uses the modify_agent_control_scan_config command to update the
        existing agent control scan agent config.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>agent_control_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>config</e></o>
    </pattern>
    <ele>
      <name>config</name>
      <summary>Structured agent-controller configuration</summary>
      <pattern>
        <o><e>agent_control</e></o>
        <o><e>agent_script_executor</e></o>
        <o><e>heartbeat</e></o>
      </pattern>
      <ele>
        <name>agent_control</name>
        <pattern><e>retry</e></pattern>
        <ele>
          <name>retry</name>
          <pattern>
            <e>attempts</e>
            <e>delay_in_seconds</e>
            <e>max_jitter_in_seconds</e>
          </pattern>
          <ele><name>attempts</name><pattern><type>integer</type></pattern></ele>
          <ele><name>delay_in_seconds</name><pattern><type>integer</type></pattern></ele>
          <ele><name>max_jitter_in_seconds</name><pattern><type>integer</type></pattern></ele>
        </ele>
      </ele>
      <ele>
        <name>agent_script_executor</name>
        <pattern>
          <o><e>bulk_size</e></o>
          <o><e>bulk_throttle_time_in_ms</e></o>
          <o><e>indexer_dir_depth</e></o>
          <o><e>scheduler_cron_time</e></o>
        </pattern>
        <ele><name>bulk_size</name><pattern><type>integer</type></pattern></ele>
        <ele><name>bulk_throttle_time_in_ms</name><pattern><type>integer</type></pattern></ele>
        <ele><name>indexer_dir_depth</name><pattern><type>integer</type></pattern></ele>
        <ele>
          <name>scheduler_cron_time</name>
          <pattern><any><e>item</e></any></pattern>
          <ele>
            <name>item</name>
            <summary>Cron expression</summary>
            <pattern><type>text</type></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>heartbeat</name>
        <summary>Heartbeat cadence and inactivity threshold</summary>
        <pattern>
          <o><e>interval_in_seconds</e></o>
          <o><e>miss_until_inactive</e></o>
        </pattern>
        <ele>
          <name>interval_in_seconds</name>
          <summary>Expected updater/agent heartbeat interval</summary>
          <pattern><type>integer</type></pattern>
        </ele>
        <ele>
          <name>miss_until_inactive</name>
          <summary>Consecutive missed heartbeats before marking agent inactive</summary>
          <pattern><type>integer</type></pattern>
        </ele>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify agents</summary>
      <request>
        <modify_agent_control_scan_config agent_control_id="fb6451bf-ec5a-45a8-8bab-5cf4b862e51b">
          <config>
            <agent_control>
              <retry>
                <attempts>6</attempts>
                <delay_in_seconds>60</delay_in_seconds>
                <max_jitter_in_seconds>10</max_jitter_in_seconds>
              </retry>
            </agent_control>
            <agent_script_executor>
              <bulk_size>2</bulk_size>
              <bulk_throttle_time_in_ms>300</bulk_throttle_time_in_ms>
              <indexer_dir_depth>100</indexer_dir_depth>
              <scheduler_cron_time>
                <item>0 */12 * * *</item>
              </scheduler_cron_time>
            </agent_script_executor>
            <heartbeat>
              <interval_in_seconds>300</interval_in_seconds>
              <miss_until_inactive>1</miss_until_inactive>
            </heartbeat>
          </config>
        </modify_agent_control_scan_config>
      </request>
      <response>
        <modify_agent_control_scan_config_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>modify_agent_group</name>
    <summary>Modify an agent group</summary>
    <description>
      <p>
        The agent_group_id attribute is required to identify which group
        should be modified.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>agent_group_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>name</e></o>
      <o><e>comment</e></o>
      <o><e>agents</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>New name for the agent group</summary>
      <pattern>text</pattern>
      <required>0</required>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Optional comment for the agent group</summary>
      <pattern>text</pattern>
      <required>0</required>
    </ele>
    <ele>
      <name>agents</name>
      <summary>List of agents to assign to the group</summary>
      <pattern>
        <any><e>agent</e></any>
      </pattern>
      <ele>
        <name>agent</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify an agent group</summary>
      <request>
        <modify_agent_group agent_group_id="6fca29e3-8b96-4e6b-9ee1-8845680dbda5">
          <name>Updated Group Name</name>
          <comment>Modified via gvm-cli</comment>
          <agents>
            <agent id="48c1b767-b699-45a4-a8bb-3325f2865913"/>
          </agents>
        </modify_agent_group>
      </request>
      <response>
        <modify_agent_group_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>modify_agent</name>
    <summary>Modify agents</summary>
    <description>
      <p>
        The client uses the modify_agent command to update one or more
        existing agents. The supported fields include authorization, scheduling,
        and operational intervals.
      </p>
      <p>
        The scanner for each agent is determined implicitly from the agent UUID.
        All provided agents must belong to the same scanner or the command will fail.
      </p>
    </description>
    <pattern>
      <e>agents</e>
      <o><e>authorized</e></o>
      <o><e>update_to_latest</e></o>
      <o><e>config</e></o>
      <o><e>comment</e></o>
    </pattern>
    <ele>
      <name>agents</name>
      <summary>List of agents to modify</summary>
      <pattern>
        <any><e>agent</e></any>
      </pattern>
      <ele>
        <name>agent</name>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>authorized</name>
      <summary>Authorization flag (1 for authorized, 0 for not)</summary>
      <pattern><t>integer</t></pattern>
      <required>0</required>
    </ele>
    <ele>
      <name>update_to_latest</name>
      <summary>Enable auto update for agent flag (1 for enable to auto update, 0 for not)</summary>
      <pattern><t>integer</t></pattern>
      <required>0</required>
    </ele>
    <ele>
      <name>config</name>
      <summary>Structured agent-controller configuration</summary>
      <pattern>
        <o><e>agent_control</e></o>
        <o><e>agent_script_executor</e></o>
        <o><e>heartbeat</e></o>
      </pattern>
      <ele>
        <name>agent_control</name>
        <pattern><e>retry</e></pattern>
        <ele>
          <name>retry</name>
          <pattern>
            <e>attempts</e>
            <e>delay_in_seconds</e>
            <e>max_jitter_in_seconds</e>
          </pattern>
          <ele><name>attempts</name><pattern><type>integer</type></pattern></ele>
          <ele><name>delay_in_seconds</name><pattern><type>integer</type></pattern></ele>
          <ele><name>max_jitter_in_seconds</name><pattern><type>integer</type></pattern></ele>
        </ele>
      </ele>
      <ele>
        <name>agent_script_executor</name>
        <pattern>
          <o><e>bulk_size</e></o>
          <o><e>bulk_throttle_time_in_ms</e></o>
          <o><e>indexer_dir_depth</e></o>
          <o><e>scheduler_cron_time</e></o>
        </pattern>
        <ele><name>bulk_size</name><pattern><type>integer</type></pattern></ele>
        <ele><name>bulk_throttle_time_in_ms</name><pattern><type>integer</type></pattern></ele>
        <ele><name>indexer_dir_depth</name><pattern><type>integer</type></pattern></ele>
        <ele>
          <name>scheduler_cron_time</name>
          <pattern><any><e>item</e></any></pattern>
          <ele>
            <name>item</name>
            <summary>Cron expression</summary>
            <pattern><type>text</type></pattern>
          </ele>
        </ele>
      </ele>
      <ele>
        <name>heartbeat</name>
        <summary>Heartbeat cadence and inactivity threshold</summary>
        <pattern>
          <o><e>interval_in_seconds</e></o>
          <o><e>miss_until_inactive</e></o>
        </pattern>
        <ele>
          <name>interval_in_seconds</name>
          <summary>Expected updater/agent heartbeat interval</summary>
          <pattern><type>integer</type></pattern>
        </ele>
        <ele>
          <name>miss_until_inactive</name>
          <summary>Consecutive missed heartbeats before marking agent inactive</summary>
          <pattern><type>integer</type></pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Optional user-supplied comment</summary>
      <pattern>text</pattern>
      <required>0</required>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify agents</summary>
      <request>
        <modify_agent>
          <agents>
            <agent id="fb6451bf-ec5a-45a8-8bab-5cf4b862e51b"/>
          </agents>
          <authorized>1</authorized>
          <update_to_latest>1</update_to_latest>
          <config>
            <agent_control>
              <retry>
                <attempts>6</attempts>
                <delay_in_seconds>60</delay_in_seconds>
                <max_jitter_in_seconds>10</max_jitter_in_seconds>
              </retry>
            </agent_control>
            <agent_script_executor>
              <bulk_size>2</bulk_size>
              <bulk_throttle_time_in_ms>300</bulk_throttle_time_in_ms>
              <indexer_dir_depth>100</indexer_dir_depth>
              <scheduler_cron_time>
                <item>0 */12 * * *</item>
              </scheduler_cron_time>
            </agent_script_executor>
            <heartbeat>
              <interval_in_seconds>300</interval_in_seconds>
              <miss_until_inactive>1</miss_until_inactive>
            </heartbeat>
          </config>
          <comment>example update</comment>
        </modify_agent>
      </request>
      <response>
        <modify_agent_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  @ENDIF_ENABLE_AGENTS@
  <command>
    <name>modify_alert</name>
    <summary>Modify an existing alert</summary>
    <description>
      <p>
        The client uses the modify_alert command to change an existing alert.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>alert_id</name>
        <summary>ID of alert to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>name</e></o>
      <o><e>comment</e></o>
      <o><e>filter</e></o>
      <o><e>event</e></o>
      <o><e>condition</e></o>
      <o><e>method</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>Name of alert</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment on alert</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>condition</name>
      <summary>
        The condition that must be satisfied for the alert to occur
      </summary>
      <pattern>
        text
        <any><e>data</e></any>
      </pattern>
      <ele>
        <name>data</name>
        <summary>Some data that defines the condition</summary>
        <pattern>
          text
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the condition data</summary>
          <pattern>
            text
          </pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>event</name>
      <summary>
        The event that must happen for the alert to occur
      </summary>
      <pattern>
        text
        <any><e>data</e></any>
      </pattern>
      <ele>
        <name>data</name>
        <summary>Some data that defines the event</summary>
        <pattern>
          text
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the event data</summary>
          <pattern>
            text
          </pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>method</name>
      <summary>The method by which the user is alerted</summary>
      <pattern>
        text
        <any><e>data</e></any>
      </pattern>
      <ele>
        <name>data</name>
        <summary>Some data that defines the method</summary>
        <pattern>
          text
          <e>name</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>The name of the method data</summary>
          <pattern>
            text
          </pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>filter</name>
      <summary>Filter to apply when executing alert</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the name and report filter of an alert and the condition that triggers it</summary>
      <request>
        <modify_alert alert_id='914b59f8-25f5-4c8f-832c-2379cd625236'>
          <name>Low Level Alert 2</name>
          <condition>
            Threat level at least
            <data>
              Low
              <name>level</name>
            </data>
          </condition>
          <filter id='7a06bd00-7e4a-4669-b7d7-8fe65ec64a41'/>
        </modify_alert>
      </request>
      <response>
        <modify_alert_response status="200" status_text="OK">
        </modify_alert_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_asset</name>
    <summary>Modify an existing asset</summary>
    <description>
      <p>
        The client uses the modify_asset command to change an existing asset.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>asset_id</name>
        <summary>ID of asset to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>Comment on asset</summary>
      <pattern>text</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the comment of an asset</summary>
      <request>
        <modify_asset asset_id='914b59f8-25f5-4c8f-832c-2379cd625236'>
          <comment>New comment</comment>
        </modify_asset>
      </request>
      <response>
        <modify_asset_response status="200" status_text="OK">
        </modify_asset_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_auth</name>
    <summary>Modify the authentication methods</summary>
    <description>
      <p>
        The client uses the "modify_auth" command to modify the authentication
        methods.
      </p>
    </description>
    <pattern>
      <e>group</e>
    </pattern>
    <ele>
      <name>group</name>
      <pattern>
        <any><e>auth_conf_setting</e></any>
      </pattern>
      <ele>
        <name>auth_conf_setting</name>
        <pattern>
          <e>key</e>
          <e>value</e>
        </pattern>
        <ele>
          <name>key</name>
          <summary>Setting name</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <summary>Setting value</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify a single setting for an authentication method</summary>
      <request>
        <modify_auth>
          <group name="Foo">
            <auth_conf_setting>
              <key>Bar</key>
              <value>Baz</value>
            </auth_conf_setting>
          </group>
        </modify_auth>
      </request>
      <response>
        <modify_auth_response status="200" status_text="OK">
        </modify_auth_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_config</name>
    <summary>Modify an existing config</summary>
    <description>
      <p>
        This command can perform four types of actions: 1) modifying
        preferences, 2) changing the family selection, 3) changing the
        NVT selection of families, or 4) modifying basic fields like
        the name or comment.
      </p>

      <p>
        Since version 21.04 it is possible to perform multiple of these actions
        at once in the order they appear in the command. Note that the changes
        can influence each other, so this can change the overall result.
      </p>

      <p>
        The first type modifies the preferences on the config.
        If a preference includes an NVT, then the preference is an NVT preference,
        otherwise the preference is a scanner preference.  If the preference includes
        a value then the manager updates the value of the preference, otherwise the
        manager removes the preference.  The value must be base64 encoded.
      </p>

      <p>
        The second type, with a family selection, lets the client modify the
        NVTs selected by the config at a family level.  The idea is that the
        client modifies the entire family selection at once, so a client will
        often need to include many families in a family selection.
      </p>

      <p>
        The family_selection may include a growing element to indicate whether new
        families should be added to the selection.  It may also include any number
        of family elements.
      </p>

      <p>
        A family element must always include a name and may include a growing element
        and an all element.  The all element indicates whether all NVTs in the family
        should be selected.  The growing element indicates whether new NVTs in the
        family should be added to the selection as they arrive.  Leaving a family
        out of the family_selection is equivalent to including the family with all
        0 and growing 0.
      </p>

      <p>
        The effect of the all 0 and growing 0 case is subtle: if
        all NVTs were selected then all are removed (effectively removing the
        family from the config).  However if some NVTs were selected then they
        remain selected.  As a result the client must include in the
        family_selection all families that must have all NVTs selected.
      </p>

      <p>
        The third option, NVT selections, must include a family and may include any
        number of NVTs.  The manager updates each given family in the config to
        include only the given NVTs. If the family selection is also changed,
        this should be done first as it can also change the NVT selection of
        families.
      </p>

      <p>
        If there was no error with the command sent by the client, the manager will
        apply the changes to the config and will reply with a response code indicating
        success.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>config_id</name>
        <summary>ID of config to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o>><e>name</e></o>
      <o><e>comment</e></o>
      <any><e>preference</e></any>
      <o><e>family_selection</e></o>
      <any><e>nvt_selection</e></any>
    </pattern>
    <ele>
      <name>name</name>
      <summary>New name for the config</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>New comment for the config</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>preference</name>
      <pattern>
        <e>name</e>
        <o><e>nvt</e></o>
        <o><e>value</e></o>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the preference to modify</summary>
        <pattern><t>name</t></pattern>
      </ele>
      <ele>
        <name>nvt</name>
        <summary>NVT associated with preference to modify</summary>
        <description>
          If this element is present then the preference is an NVT
          preference, otherwise it is a Scanner preference.
        </description>
        <pattern>
          <attrib>
            <name>oid</name>
            <type>oid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>value</name>
        <summary>New value for preference</summary>
        <pattern><t>base64</t></pattern>
      </ele>
    </ele>
    <ele>
      <name>family_selection</name>
      <pattern>
        <o><e>growing</e></o>
        <any><e>family</e></any>
      </pattern>
      <ele>
        <name>growing</name>
        <summary>Whether new families should be added to the config</summary>
        <pattern><t>boolean_atoi</t></pattern>
      </ele>
      <ele>
        <name>family</name>
        <pattern>
          <o><e>all</e></o>
          <o><e>growing</e></o>
          <e>name</e>
        </pattern>
        <ele>
          <name>all</name>
          <summary>Whether to select all NVTs initially</summary>
          <pattern><t>boolean_atoi</t></pattern>
        </ele>
        <ele>
          <name>growing</name>
          <summary>Whether to add newly arrived nvts to the selection</summary>
          <pattern><t>boolean_atoi</t></pattern>
        </ele>
        <ele>
          <name>name</name>
          <pattern><t>name</t></pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>nvt_selection</name>
      <pattern>
        <e>family</e>
        <any><e>nvt</e></any>
      </pattern>
      <ele>
        <name>family</name>
        <summary>Name of family to modify</summary>
        <pattern><t>name</t></pattern>
      </ele>
      <ele>
        <name>nvt</name>
        <pattern>
          <attrib>
            <name>oid</name>
            <type>oid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify a config NVT preference</summary>
      <request>
        <modify_config config_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <preference>
            <nvt oid="1.3.6.1.4.1.25623.1.0.14259"></nvt>
            <name>1.3.6.1.4.1.25623.1.0.14259:1:checkbox:UDP port scan</name>
            <value>eWVz</value>
          </preference>
        </modify_config>
      </request>
      <response>
        <modify_config_response status="200" status_text="OK">
        </modify_config_response>
      </response>
    </example>
    <example>
      <summary>Modify a config Scanner preference</summary>
      <request>
        <modify_config config_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <preference>
            <name>scanner:scanner:scanner:vhosts</name>
            <value>ZXhhbXBsZQ==</value>
          </preference>
        </modify_config>
      </request>
      <response>
        <modify_config_response status="200" status_text="OK">
        </modify_config_response>
      </response>
    </example>
    <example>
      <summary>Modify the families that a config selects</summary>
      <description>
        <p>
          The outer "growing" element sets the config to add any new families
          that arrive.
        </p>
        <p>
          The client requests the Manager to keep a single selected
          family (Debian Local Security Checks), to select all NVTs in
          this family, and to automatically add any new NVTs in this family
          to the config.
        </p>
      </description>
      <request>
        <modify_config config_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <family_selection>
            <growing>1</growing>
            <family>
              <name>Debian Local Security Checks</name>
              <all>1</all>
              <growing>1</growing>
            </family>
          </family_selection>
        </modify_config>
      </request>
      <response>
        <modify_config_response status="200" status_text="OK">
        </modify_config_response>
      </response>
    </example>
    <example>
      <summary>Modify the NVTs that a config selects in a particular family</summary>
      <request>
        <modify_config config_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <nvt_selection>
            <family>Debian Local Security Checks</family>
            <nvt oid="1.3.6.1.4.1.25623.1.0.53797"></nvt>
            <nvt oid="1.3.6.1.4.1.25623.1.0.63272"></nvt>
            <nvt oid="1.3.6.1.4.1.25623.1.0.55615"></nvt>
            <nvt oid="1.3.6.1.4.1.25623.1.0.53546"></nvt>
          </nvt_selection>
        </modify_config>
      </request>
      <response>
        <modify_config_response status="200" status_text="OK">
        </modify_config_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_credential</name>
    <summary>Modify an existing credential</summary>
    <description>
      <p>
        The client uses the modify_credential command to change an
        existing credential.
      </p>
      <p>
        The login and password can only be changed for password credentials.
        Modification of login or password on package credentials is forbidden.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>credential_id</name>
        <summary>ID of credential to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
      <o><e>name</e></o>
      <o><e>allow_insecure</e></o>
      <o><e>certificate</e></o>
      <o><e>kdc</e></o>
      <o><e>kdcs</e></o>
      <o><e>key</e></o>
      <o><e>login</e></o>
      <o><e>password</e></o>
      <o><e>community</e></o>
      <o><e>auth_algorithm</e></o>
      <o><e>privacy</e></o>
      <o><e>realm</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the credential</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the credential</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>allow_insecure</name>
      <summary>Whether to allow insecure use of the credential</summary>
      <pattern>
        <t>boolean</t>
      </pattern>
    </ele>
    <ele>
      <name>certificate</name>
      <summary>The certificate for the credential</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>kdc</name>
      <pattern>text</pattern>
      <summary>Deprecated: This element is deprecated. Use kdcs instead. The Kerberos KDC (key distribution center(s))</summary>
    </ele>
    <ele>
      <name>kdcs</name>
      <summary>Multiple Kerberos KDCs</summary>
      <description>
        <p>List of one or more Kerberos Key Distribution Centers (KDCs).</p>
      </description>
      <pattern>
        <any><e>kdc</e></any>
      </pattern>
      <ele>
        <name>kdc</name>
        <summary>A single Kerberos Key Distribution Center</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>key</name>
      <pattern>
        <o><e>phrase</e></o>
        <or>
          <e>private</e>
          <e>public</e>
        </or>
      </pattern>
      <ele>
        <name>phrase</name>
        <summary>Key passphrase</summary>
        <pattern>
          text
        </pattern>
      </ele>
      <ele>
        <name>private</name>
        <summary>Private key</summary>
        <pattern>
          text
        </pattern>
      </ele>
      <ele>
        <name>public</name>
        <summary>Public key</summary>
        <pattern>
          text
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>login</name>
      <summary>The user name of the credential</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>password</name>
      <summary>The password for the credential login</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>community</name>
      <summary>The SNMP community</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>auth_algorithm</name>
      <summary>Authentication algorithm for SNMP, either md5 or sha1</summary>
      <pattern>
        <alts>
          <alt>md5</alt>
          <alt>sha1</alt>
        </alts>
      </pattern>
    </ele>
    <ele>
      <name>privacy</name>
      <pattern>
        <e>algorithm</e>
        <e>password</e>
      </pattern>
      <ele>
        <name>algorithm</name>
        <summary>The SNMP privacy algorithm, either aes or des</summary>
        <pattern>
          <alts>
            <alt>aes</alt>
            <alt>des</alt>
          </alts>
        </pattern>
      </ele>
      <ele>
        <name>password</name>
        <summary>The SNMP privacy password</summary>
        <pattern>
          text
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>realm</name>
      <pattern>text</pattern>
      <summary>The Kerberos realm</summary>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the comment of an credential</summary>
      <request>
        <modify_credential credential_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <comment>Credential for all machines in lab 4.</comment>
        </modify_credential>
      </request>
      <response>
        <modify_credential_response status="200" status_text="OK">
        </modify_credential_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_filter</name>
    <summary>Modify an existing filter</summary>
    <description>
      <p>
        The client uses the modify_filter command to change an existing filter.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>filter_id</name>
        <summary>ID of filter to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
      <o><e>name</e></o>
      <o><e>term</e></o>
      <o><e>type</e></o>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>Comment on filter</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>Name of filter</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>term</name>
      <summary>Filter term</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>type</name>
      <summary>Resource type filter applies to</summary>
      <pattern>text</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the term of a filter</summary>
      <request>
        <modify_filter filter_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <term>name=local</term>
        </modify_filter>
      </request>
      <response>
        <modify_filter_response status="200" status_text="OK">
        </modify_filter_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_group</name>
    <summary>Modify an existing group</summary>
    <description>
      <p>
        The client uses the modify_group command to change an existing group.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>group_id</name>
        <summary>ID of group to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>name</e></o>
      <o><e>comment</e></o>
      <o><e>users</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>Name of group</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment on group</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>users</name>
      <summary>Comma separated list of user names</summary>
      <pattern>text</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the name of a group</summary>
      <request>
        <modify_group group_id='d94211b6-ba40-11e3-bcb1-406186ea4fc5'>
          <name>Line Managers</name>
        </modify_group>
      </request>
      <response>
        <modify_group_response status="200" status_text="OK">
        </modify_group_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_license</name>
    <summary>Modify the existing license</summary>
    <description>
      <p>
        The client uses the modify_license command to change the current
        license.
      </p>
      <p>
        The license has to be provided as a valid base64 encoded license
        file.
      </p>
      <p>
        This command is only available if gvmd is built with the licensing
        library (libtheia).
      </p>
    </description>
    <pattern>
      <attrib>
        <name>allow_empty</name>
        <summary>Whether to allow an empty file</summary>
        <type>boolean</type>
        <required>0</required>
      </attrib>
      <e>file</e>
    </pattern>
    <ele>
      <name>file</name>
      <summary>The license file in base64 encoded form</summary>
      <pattern>text</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Upload an new license file</summary>
      <request>
        <modify_license>
          <file>[...]</file>
        </modify_license>
      </request>
      <response>
        <modify_license_response status="200" status_text="OK">
        </modify_license_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_note</name>
    <summary>Modify an existing note</summary>
    <description>
      <p>
        The client uses the modify_note command to change an existing note.
      </p>
      <p>
        If an optional element is left out, the existing value will be
        cleared, generalising that constraint.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>note_id</name>
        <summary>ID of note to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>active</e></o>
      <o><e>nvt</e></o>
      <o><e>hosts</e></o>
      <o><e>port</e></o>
      <o><e>result</e></o>
      <o><e>severity</e></o>
      <o><e>task</e></o>
      <e>text</e>
    </pattern>
    <ele>
      <name>active</name>
      <summary>Days note will be active. -1 on always, 0 off</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>nvt</name>
      <summary>NVT to which note applies</summary>
      <pattern>
        <attrib>
          <name>oid</name>
          <type>oid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>A comma-separated list of hosts</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>port</name>
      <summary>Port (location) to which note applies</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>severity</name>
      <summary>Severity to which note applies</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>text</name>
      <summary>The text of the note</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>task</name>
      <summary>Task to which note applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>result</name>
      <summary>Result to which note applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the text and result of a note</summary>
      <request>
        <modify_note note_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <text>This issue should be resolved after the upgrade.</text>
          <result result_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c"/>
        </modify_note>
      </request>
      <response>
        <modify_note_response status="200" status_text="OK">
        </modify_note_response>
      </response>
    </example>
  </command>
  @IF_ENABLE_CONTAINER_SCANNNING@
  <command>
    <name>modify_oci_image_target</name>
    <summary>Modify an existing OCI image target</summary>
    <description>
      <p>
        The client uses the modify_oci_image_target command to change an existing
        target.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>oci_image_target_id</name>
        <summary>ID of target to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
      <o><e>name</e></o>
      <o><e>image_references</e></o>
      <o><e>exclude_images</e></o>      
      <o><e>credential</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>Name of target</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment on target</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>image_references</name>
      <summary>Comma-separated list of image references</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>exclude_images</name>
      <summary>Comma-separated list of images to exclude</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>credential</name>
      <summary>credential to use on target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the name of an OCI image target</summary>
      <request>
        <modify_oci_image_target oci_image_target_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <name>OCI Image Target New</name>
        </modify_oci_image_target>
      </request>
      <response>
        <modify_oci_image_target_response status="200" status_text="OK">
        </modify_oci_image_target_response>
      </response>
    </example>
  </command>
  @ENDIF_ENABLE_CONTAINER_SCANNNING@
  <command>
    <name>modify_override</name>
    <summary>Modify an existing override</summary>
    <description>
      <p>
        The client uses the modify_override command to change an existing
        override.
      </p>
      <p>
        If an optional element is left out, the existing value will be
        cleared, generalising that constraint.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>override_id</name>
        <summary>ID of override to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>active</e></o>
      <o><e>nvt</e></o>
      <o><e>hosts</e></o>
      <o><e>new_severity</e></o>
      <o><e>new_threat</e></o>
      <o><e>port</e></o>
      <o><e>result</e></o>
      <o><e>task</e></o>
      <e>text</e>
      <o><e>severity</e></o>
      <o><e>threat</e></o>
    </pattern>
    <ele>
      <name>active</name>
      <summary>Days override will be active. -1 on always, 0 off</summary>
      <pattern><t>integer</t></pattern>
    </ele>
    <ele>
      <name>nvt</name>
      <summary>NVT to which override applies</summary>
      <pattern>
        <attrib>
          <name>oid</name>
          <type>oid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>A comma-separated list of hosts</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>new_severity</name>
      <summary>New severity score for result</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>new_threat</name>
      <summary>New threat level for result</summary>
      <pattern>
        <t>threat</t>
      </pattern>
    </ele>
    <ele>
      <name>port</name>
      <summary>Port (location) to which override applies</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>text</name>
      <summary>Text describing the override</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>severity</name>
      <summary>Severity score to which override applies</summary>
      <pattern>
        <t>severity</t>
      </pattern>
    </ele>
    <ele>
      <name>threat</name>
      <summary>Threat level to which override applies</summary>
      <pattern>
        <t>threat</t>
      </pattern>
    </ele>
    <ele>
      <name>task</name>
      <summary>Task to which override applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>result</name>
      <summary>Result to which override applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Set the override threat to Low</summary>
      <request>
        <modify_override override_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <text>This issue is less important in our setup.</text>
          <new_threat>Low</new_threat>
        </modify_override>
      </request>
      <response>
        <modify_override_response status="200" status_text="OK">
        </modify_override_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_permission</name>
    <summary>Modify a permission</summary>
    <description>
      <p>
        The client uses the modify_permission command to change an existing permission.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>permission_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>name</e></o>
      <o><e>comment</e></o>
      <o><e>resource</e></o>
      <o><e>subject</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>Permission name, currently the name of a command</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>The comment on the permission</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>resource</name>
      <summary>A resource to which the permission applies</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <summary>UUID if permission applies to resource, else 0</summary>
          <type>uuid</type>
          <required>0</required>
        </attrib>
        <e>type</e>
      </pattern>
      <ele>
        <name>type</name>
        <summary>GMP type, for Super permissions: user, group or role</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>subject</name>
      <summary>A subject to whom the permission is granted</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>0</required>
        </attrib>
        <e>type</e>
      </pattern>
      <ele>
        <name>type</name>
        <summary>GMP type of the subject: user, group or role</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Change user of a permission</summary>
      <request>
        <modify_permission permission_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <subject id="76e47468-c095-11e3-9285-406186ea4fc5">
            <type>user</type>
          </subject>
        </modify_permission>
      </request>
      <response>
        <modify_permission_response status="200"
                             status_text="OK">
        </modify_permission_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_port_list</name>
    <summary>Modify an existing port list</summary>
    <description>
      <p>
        The client uses the modify_port_list command to change an existing port list.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>port_list_id</name>
        <summary>ID of port list to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>name</e></o>
      <o><e>comment</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>Name of port list</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment on port list</summary>
      <pattern>text</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the name of a port list</summary>
      <request>
        <modify_port_list port_list_id='27140836-05ae-4e8b-9abf-f725ddc2888f'>
          <name>PL-WS1</name>
          <comment>Port List for Web Server 1</comment>
        </modify_port_list>
      </request>
      <response>
        <modify_port_list_response status="200" status_text="OK">
        </modify_port_list_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_report_config</name>
    <summary>Modify an existing report config</summary>
    <description>
      <p>
        The client uses the modify_report_config command to change an existing
        report config.
      </p>
    </description>
    <pattern>
      <o><e>name</e></o>
      <o><e>comment</e></o>
      <any><e>param</e></any>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A name for the report config. Omit to keep current one</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>A comment on the report config. Omit to keep current one</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>param</name>
      <summary>
        A parameter to pass to the report format.
        Omit params to keep current value
      </summary>
      <pattern>
        <e>name</e>
        <e>value</e>
      </pattern>
      <ele>
        <name>name</name>
        <summary>Name of the parameter</summary>
        <pattern>text</pattern>
      </ele>
      <ele>
        <name>value</name>
        <summary>Value of the parameter</summary>
        <pattern>
          text
          <attrib>
            <name>use_default</name>
            <type>boolean</type>
            <summary>
              Whether to use the default instead of the given value
            </summary>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Rename a report config and reset a param to default</summary>
      <request>
        <modify_report_config>
          <name>Renamed config</name>
          <param>
            <name>Node Distance</name>
            <value use_default="1"></value>
          </param>
        </modify_report_config>
      </request>
      <response>
        <modify_report_config_response status="200" status_text="OK">
        </modify_report_config_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_report_format</name>
    <summary>Update an existing report format</summary>
    <description>
      <p>
        The client uses the modify_report_format command to change an existing
        report format.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>report_format_id</name>
        <summary>ID of report format to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <or>
        <e>active</e>
        <e>name</e>
        <e>summary</e>
        <e>param</e>
      </or>
    </pattern>
    <ele>
      <name>active</name>
      <summary>Whether the report format is active</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>The name of the report format</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>summary</name>
      <summary>A summary of the report format</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>param</name>
      <description>
        If the value element is missing, then the value becomes the empty
        string.
      </description>
      <pattern>
        <e>name</e>
        <o><e>value</e></o>
      </pattern>
      <ele>
        <name>name</name>
        <summary>The name of the param</summary>
        <pattern><t>name</t></pattern>
      </ele>
      <ele>
        <name>value</name>
        <summary>New value for the param</summary>
        <pattern><t>base64</t></pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify a report format param</summary>
      <request>
        <modify_report_format report_format_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <param>
            <name>Background Colour</name>
            <value>cmVk</value>
          </param>
        </modify_report_format>
      </request>
      <response>
        <modify_report_format_response status="200" status_text="OK">
        </modify_report_format_response>
      </response>
    </example>
    <example>
      <summary>Modify the name of a report format</summary>
      <request>
        <modify_report_format report_format_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <name>New name</name>
        </modify_report_format>
      </request>
      <response>
        <modify_report_format_response status="200" status_text="OK">
        </modify_report_format_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_role</name>
    <summary>Modify an existing role</summary>
    <description>
      <p>
        The client uses the modify_role command to change an existing role.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>role_id</name>
        <summary>ID of role to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>name</e></o>
      <o><e>comment</e></o>
      <o><e>users</e></o>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <ele>
      <name>name</name>
      <summary>Name of role</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment on role</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>users</name>
      <summary>Comma separated list of user names</summary>
      <pattern>text</pattern>
    </ele>
    <example>
      <summary>Modify the name of a role</summary>
      <request>
        <modify_role role_id='914b59f8-25f5-4c8f-832c-2379cd625236'>
          <name>SCAP User</name>
        </modify_role>
      </request>
      <response>
        <modify_role_response status="200" status_text="OK">
        </modify_role_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_scanner</name>
    <summary>Modify an existing scanner</summary>
    <description>
      <p>
        The client uses the modify_scanner command to change an existing scanner.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>scanner_id</name>
        <summary>ID of scanner to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
      <o><e>name</e></o>
      <e>host</e>
      <e>port</e>
      <e>type</e>
      <o><e>ca_pub</e></o>
      <o><e>credential</e></o>
      <o><e>relay_host</e></o>
      <o><e>relay_port</e></o>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>Comment on scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>Name of scanner</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>host</name>
      <summary>Host of the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>port</name>
      <summary>Port of the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>type</name>
      <summary>Type of the scanner. '1' for OSP, '2' for OpenVAS (classic) Scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>ca_pub</name>
      <summary>Certificate of CA to verify scanner's certificate</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>credential</name>
      <summary>Client certificate credential for the Scanner</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <summary>UUID of the credential</summary>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>relay_host</name>
      <summary>Optional relay host of the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>relay_port</name>
      <summary>Optional relay port of the scanner</summary>
      <pattern>text</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the name of a scanner</summary>
      <request>
        <modify_scanner scanner_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <name>Weekly Scan</name>
        </modify_scanner>
      </request>
      <response>
        <modify_scanner_response status="200" status_text="OK">
        </modify_scanner_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_schedule</name>
    <summary>Modify an existing schedule</summary>
    <description>
      <p>
        The client uses the modify_schedule command to change an existing schedule.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>schedule_id</name>
        <summary>ID of schedule to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
      <o><e>name</e></o>
      <o><e>icalendar</e></o>
      <o><e>timezone</e></o>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>Comment on schedule</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>Name of schedule</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>icalendar</name>
      <summary>iCalendar text containing the time data. Replaces first_time, duration and period</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>timezone</name>
      <summary>The timezone the schedule will follow. User's timezone is used if omitted</summary>
      <pattern>timezone</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the name of a schedule</summary>
      <request>
        <modify_schedule schedule_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <name>Weekly Scan</name>
        </modify_schedule>
      </request>
      <response>
        <modify_schedule_response status="200" status_text="OK">
        </modify_schedule_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_setting</name>
    <summary>Modify an existing setting</summary>
    <description>
      <p>
        The client uses the modify_setting command to change an existing
        setting.  These are user settings that can be controlled via GMP.
        The settings "Password" and "Timezone" can be modified by name, the
        rest by UUID.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>setting_id</name>
        <type>uuid</type>
      </attrib>
      <e>name</e>
      <e>value</e>
    </pattern>
    <ele>
      <name>name</name>
      <summary>The name of the setting</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>value</name>
      <summary>The value of the setting, in base64 encoding</summary>
      <pattern><t>base64</t></pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the timezone</summary>
      <request>
        <modify_setting>
          <name>Timezone</name>
          <value>QWZyaWNhL0pvaGFubmVzYnVyZw==</value>
        </modify_setting>
      </request>
      <response>
        <modify_setting_response status="200" status_text="OK">
        </modify_setting_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_tag</name>
    <summary>Modify a tag</summary>
    <description>
      <p>
        The client uses the modify_tag command to change an existing tag.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>tag_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>name</e></o>
      <o><e>resources</e></o>
      <o><e>value</e></o>
      <o><e>comment</e></o>
      <o><e>active</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>A full tag name consisting of namespace and predicate</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>resources</name>
      <summary>Identifies the resources the tag is to be attached to</summary>
      <pattern>
        <attrib>
          <name>action</name>
          <type>
            <alts>
              <alt></alt>
              <alt>add</alt>
              <alt>set</alt>
              <alt>remove</alt>
            </alts>
          </type>
          <summary>Whether to add or remove resources instead of overwriting</summary>
          <required>0</required>
        </attrib>
        <attrib>
          <name>filter</name>
          <type>text</type>
          <summary>Filter term to select resources the tag is to be attached to</summary>
          <required>0</required>
        </attrib>
        <any><e>resource</e></any>
        <e>type</e>
      </pattern>
      <ele>
        <name>resource</name>
        <pattern>
          <attrib>
            <name>id</name>
            <summary>ID of a resource the tag is to be attached to</summary>
            <type>uuid</type>
            <required>0</required>
          </attrib>
        </pattern>
      </ele>
      <ele>
        <name>type</name>
        <summary>GMP type of the resources the tag is to be attached to</summary>
        <pattern>text</pattern>
      </ele>
    </ele>
    <ele>
      <name>value</name>
      <summary>Value associated with the tag</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment to add to the tag</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>active</name>
      <summary>Whether the tag is active</summary>
      <pattern>boolean</pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Deactivate a tag</summary>
      <request>
        <modify_tag tag_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <active>0</active>
        </modify_tag>
      </request>
      <response>
        <modify_tag_response status="200"
                             status_text="OK">
        </modify_tag_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_target</name>
    <summary>Modify an existing target</summary>
    <description>
      <p>
        The client uses the modify_target command to change an existing target.
      </p>
      <p>
        If the SSH elevate credential is set, the SSH credential must also be
        set. The SSH elevate credential and the SSH credential must differ.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>target_id</name>
        <summary>ID of target to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
      <o><e>name</e></o>
      <o><e>hosts</e></o>
      <o><e>hosts_ordering</e></o>
      <o><e>exclude_hosts</e></o>
      <o><e>ssh_credential</e></o>
      <o><e>ssh_elevate_credential</e></o>
      <o>
        <or>
          <e>krb5_credential</e>
          <e>smb_credential</e>
        </or>
      </o>
      <o><e>esxi_credential</e></o>
      <o><e>snmp_credential</e></o>
      <o><e>ssh_lsc_credential</e></o>
      <o><e>smb_lsc_credential</e></o>
      <o><e>esxi_lsc_credential</e></o>
      <o><e>port_list</e></o>
      <o><e>alive_tests</e></o>
      <o><e>reverse_lookup_only</e></o>
      <o><e>reverse_lookup_unify</e></o>
      <o><e>allow_simultaneous_ips</e></o>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>Comment on target</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>Name of target</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>Comma-separated list of target hosts</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>hosts_ordering</name>
      <summary>The order hosts are scanned in</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>exclude_hosts</name>
      <summary>Comma-separated list of hosts to exclude</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>ssh_credential</name>
      <summary>SSH credential to use on target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>ssh_elevate_credential</name>
      <summary>SSH elevate credential to use on target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>smb_credential</name>
      <summary>SMB credential to use on target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>krb5_credential</name>
      <summary>Kerberos 5 login credentials for target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>esxi_credential</name>
      <summary>ESXi credential to use on target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>snmp_credential</name>
      <summary>SNMP credential to use on target</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>ssh_lsc_credential</name>
      <summary>Deprecated: use ssh_credential. SSH credential</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>smb_lsc_credential</name>
      <summary>Deprecated: use ssh_credential. SMB credential</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>esxi_lsc_credential</name>
      <summary>Deprecated: use esxi_credential. ESXi credential</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>port_list</name>
      <summary>Port List describing ports to scan</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>alive_tests</name>
      <summary>Which alive tests to use</summary>
      <description>
        Instead of the sub-elements a string representation of the
        old predefined alive test selections can be used, but this is
        deprecated.
      </description>
      <pattern>
        <any><e>alive_test</e></any>
      </pattern>
      <ele>
        <name>alive_test</name>
        <summary>
          A single alive test to use.
          "Scan Config Default" and "Consider Alive" can only be used alone
        </summary>
        <pattern>
          <t>alive_test</t>
        </pattern>
      </ele>
    </ele>
    <ele>
      <name>reverse_lookup_only</name>
      <summary>Whether to scan only hosts that have names</summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>reverse_lookup_unify</name>
      <summary>
        Whether to scan only one IP when multiple IPs have the same name
      </summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <ele>
      <name>allow_simultaneous_ips</name>
      <summary>
        Whether to scan multiple IPs of the same host simultaneously
      </summary>
      <pattern><t>boolean</t></pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the name of a target</summary>
      <request>
        <modify_target target_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <name>Upstairs Lab</name>
        </modify_target>
      </request>
      <response>
        <modify_target_response status="200" status_text="OK">
        </modify_target_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_task</name>
    <summary>Modify an existing task</summary>
    <description>
      <p>
        The client uses the modify_task command to change an existing
        task.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>task_id</name>
        <summary>ID of task to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <or>
        <e>comment</e>
        <!-- Actually at least one, else command is empty. -->
        <any><e>alert</e></any>
        <e>config</e>
        <e>name</e>
        <e>observers</e>
        <e>preferences</e>
        <e>schedule</e>
        <e>schedule_periods</e>
        <e>scanner</e>
        <e>target</e>
        @IF_ENABLE_AGENTS@
        <e>agent_group</e>
        @ENDIF_ENABLE_AGENTS@
        @IF_ENABLE_CONTAINER_SCANNNING@
        <e>oci_image_target</e>
        @ENDIF_ENABLE_CONTAINER_SCANNNING@
        <e>file</e>
      </or>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>The comment on the task</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>alert</name>
      <summary>Task alert</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>config</name>
      <summary>The scan configuration used by the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>The name of the task</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>observers</name>
      <summary>Users allowed to observe this task</summary>
      <pattern><t>user_list</t></pattern>
    </ele>
    <ele>
      <name>preferences</name>
      <pattern>
        <any><e>preference</e></any>
      </pattern>
      <ele>
        <name>preference</name>
        <pattern>
          <e>scanner_name</e>
          <e>value</e>
        </pattern>
        <ele>
          <name>scanner_name</name>
          <summary>Compact name of preference, from scanner</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <pattern>text</pattern>
        </ele>
      </ele>
    </ele>
    <ele>
      <name>schedule</name>
      <summary>Task schedule</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>schedule_periods</name>
      <summary>
        A limit to the number of times the task will be scheduled, or 0 for no limit
      </summary>
      <pattern>
        <t>integer</t>
      </pattern>
    </ele>
    <ele>
      <name>scanner</name>
      <summary>Task scanner</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>target</name>
      <summary>The hosts scanned by the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    @IF_ENABLE_AGENTS@
    <ele>
      <name>agent_group</name>
      <summary>The agents scanned by the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    @ENDIF_ENABLE_AGENTS@
    @IF_ENABLE_CONTAINER_SCANNNING@
    <ele>
      <name>oci_image_target</name>
      <summary>The OCI images scanned by the task</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    @ENDIF_ENABLE_CONTAINER_SCANNNING@
    <ele>
      <name>file</name>
      <summary>File to attach to task</summary>
      <pattern>
        <attrib>
          <name>name</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <t>base64</t>
        <attrib>
          <name>action</name>
          <type>
            <alts>
              <alt>update</alt>
              <alt>remove</alt>
            </alts>
          </type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify a task comment</summary>
      <request>
        <modify_task task_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <comment>Monthly scan of the webserver.</comment>
        </modify_task>
      </request>
      <response>
        <modify_task_response status="200" status_text="OK">
        </modify_task_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_ticket</name>
    <summary>Modify an existing ticket</summary>
    <description>
      <p>
        The client uses the modify_ticket command to change an existing ticket.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>ticket_id</name>
        <summary>ID of ticket to modify</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
      <o><e>status</e></o>
      <o><e>open_note</e></o>
      <o><e>fixed_note</e></o>
      <o><e>closed_note</e></o>
      <o><e>assigned_to</e></o>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>Comment on ticket</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>status</name>
      <summary>Ticket status</summary>
      <pattern><t>ticket_status</t></pattern>
    </ele>
    <ele>
      <name>open_note</name>
      <summary>Note, required when status is Open</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>fixed_note</name>
      <summary>Note, required when status is Fixed</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>closed_note</name>
      <summary>Note, required when status is Closed</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>assigned_to</name>
      <pattern>
        <e>user</e>
      </pattern>
      <ele>
        <name>user</name>
        <summary>The user the ticket is assigned to</summary>
        <pattern>
          <attrib>
            <name>id</name>
            <type>uuid</type>
            <required>1</required>
          </attrib>
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify the status of a ticket</summary>
      <request>
        <modify_ticket ticket_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6">
          <status>Closed</status>
          <closed_note>Resolved with January update</closed_note>
        </modify_ticket>
      </request>
      <response>
        <modify_ticket_response status="200" status_text="OK">
        </modify_ticket_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_tls_certificate</name>
    <summary>Create a TLS certificate</summary>
    <description>
      <p>
        The client uses the modify_tls_certificate command to modify an
        existing TLS certificate.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>tls_certificate_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <o><e>comment</e></o>
      <o><e>copy</e></o>
      <o><e>name</e></o>
      <o><e>trust</e></o>
    </pattern>
    <ele>
      <name>comment</name>
      <summary>A comment on the TLS certificate</summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>copy</name>
      <summary>The UUID of an existing TLS certificate</summary>
      <pattern>
        <t>uuid</t>
      </pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>
        The name of the certificate, defaulting to the MD5 fingerprint
      </summary>
      <pattern>
        text
      </pattern>
    </ele>
    <ele>
      <name>trust</name>
      <summary>Whether the certificate is trusted</summary>
      <pattern>
        <t>boolean</t>
      </pattern>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>
        Modify the name of a TLS certificate
      </summary>
      <request>
        <modify_tls_certificate
            tls_certificate_id="8a925978-59d0-494b-a837-40b271569727">
          <name>Renamed Example Certificate</name>
        </modify_tls_certificate>
      </request>
      <response>
        <modify_tls_certificate_response status="200" status_text="OK">
        </modify_tls_certificate_response>
      </response>
    </example>
  </command>
  <command>
    <name>modify_user</name>
    <summary>Modify an existing user</summary>
    <description>
      <p>
        The client uses the modify_user command to change an existing user.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>user_id</name>
        <summary>ID of the user to be modified.  Overrides NAME element</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <e>name</e>
      <o><e>new_name</e></o>
      <o><e>comment</e></o>
      <o><e>password</e></o>
      <any><e>role</e></any>
      <o><e>hosts</e></o>
      <o><e>sources</e></o>
    </pattern>
    <ele>
      <name>name</name>
      <summary>The name of the user to be modified</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>new_name</name>
      <summary>The new name for the user</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>comment</name>
      <summary>Comment for the user</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>hosts</name>
      <summary>User access rules: a comma-separated list of hosts</summary>
      <description>
        User is allowed to access any host if this element is missing.
      </description>
      <pattern>
        <attrib>
          <name>allow</name>
          <summary>If 1, allow only listed, otherwise forbid listed</summary>
          <type>boolean</type>
        </attrib>
        text
      </pattern>
    </ele>
    <ele>
      <name>password</name>
      <summary>The password for the user</summary>
      <pattern>
        <attrib>
          <name>modify</name>
          <summary>If 0 then password is left alone, otherwise password is modified</summary>
          <type>boolean</type>
        </attrib>
        text
      </pattern>
    </ele>
    <ele>
      <name>role</name>
      <summary>A role of the user</summary>
      <pattern>
        <attrib>
          <name>id</name>
          <type>uuid</type>
          <required>1</required>
        </attrib>
      </pattern>
    </ele>
    <ele>
      <name>sources</name>
      <summary>Authentication source for this user (if omitted, no changes)</summary>
      <description>
        <p>
          'file' means to store the user in the database.
        </p>
        <p>
          The element is called SOURCES for historic reasons. Only one SOURCE is allowed.
        </p>
      </description>
      <pattern>
        <o><e>source</e></o>
      </pattern>
      <ele>
        <name>source</name>
        <summary>Authentication source</summary>
        <pattern>
          <alts>
            <alt>file</alt>
            <alt>ldap_connect</alt>
            <alt>radius_connect</alt>
          </alts>
        </pattern>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Modify a user</summary>
      <request>
        <modify_user>
          <name>Foobar</name>
          <password modify="0"></password>
          <role id="8d453140-b74d-11e2-b0be-406186ea4fc5"></role>
          <hosts allow="0"></hosts>
        </modify_user>
      </request>
      <response>
        <modify_user_response status="200" status_text="OK">
        </modify_user_response>
      </response>
    </example>
  </command>
  <command>
    <name>move_task</name>
    <summary>
      Moves an existing task to another slave scanner or the master
    </summary>
    <description>
      <p>
        If a scan is running, this command will stop the task and resume it
        after reassigning to the new scanner or master.
        Note that in this case, the command will wait until the task has been
        requested to resume.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>task_id</name>
        <summary>ID of task to reassign</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
      <attrib>
        <name>slave_id</name>
        <summary>ID of slave to reassign to, empty for master</summary>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Move a task to a slave</summary>
      <request>
        <move_task task_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"
                   slave_id="97390ade-e075-11df-9973-002264764cea">
        </move_task>
      </request>
      <response>
        <move_task_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>restore</name>
    <summary>Restore a resource</summary>
    <description>
      <p>
        The client uses the restore a resource from the trashcan.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Restore a target</summary>
      <request>
        <restore id="97390ade-e075-11df-9973-002264764cea">
        </restore>
      </request>
      <response>
        <restore_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>resume_task</name>
    <summary>Resume a task</summary>
    <description>
      <p>
        The client uses the resume_task command to manually resume a
        stopped task.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>task_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>report_id</e>
      </pattern>
      <ele>
        <name>report_id</name>
        <summary>The id of the report</summary>
        <pattern>
          <t>uuid</t>
        </pattern>
      </ele>
    </response>
    <example>
      <summary>Resume a task</summary>
      <request>
        <resume_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </resume_task>
      </request>
      <response>
        <resume_task_response status="200" status_text="OK">
          <report_id>330ee785-c2c0-4d4c-ab96-725142c9b789</report_id>
        </resume_task_response>
      </response>
    </example>
  </command>
  <command>
    <name>run_wizard</name>
    <summary>Run a wizard</summary>
    <description>
      <p>
        The client uses the run_wizard command to run a wizard.
      </p>
    </description>
    <pattern>
      <o><e>mode</e></o>
      <e>name</e>
      <e>params</e>
      <attrib>
        <name>read_only</name>
        <type>boolean</type>
        <summary>Whether to only run wizards marked as read only</summary>
        <required>0</required>
      </attrib>
    </pattern>
    <ele>
      <name>mode</name>
      <summary>The mode to run the wizard in</summary>
      <pattern>text</pattern>
    </ele>
    <ele>
      <name>name</name>
      <summary>The name of the wizard</summary>
      <pattern><t>name</t></pattern>
    </ele>
    <ele>
      <name>params</name>
      <summary>Parameters for the wizard</summary>
      <pattern><any><e>param</e></any></pattern>
      <ele>
        <name>param</name>
        <pattern>
          <e>name</e>
          <e>value</e>
        </pattern>
        <ele>
          <name>name</name>
          <summary>Parameter name</summary>
          <pattern>text</pattern>
        </ele>
        <ele>
          <name>value</name>
          <summary>Value of parameter</summary>
          <pattern>text</pattern>
        </ele>
      </ele>
    </ele>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>response</e>
      </pattern>
      <ele>
        <name>response</name>
        <summary>Contains the response of the command run in the last step</summary>
        <pattern></pattern>
      </ele>
    </response>
    <example>
      <summary>Run the Quick Start wizard to scan localhost</summary>
      <request>
        <run_wizard>
          <name>quick_first_scan</name>
          <params>
            <param>
              <name>hosts</name>
              <value>localhost</value>
            </param>
          </params>
        </run_wizard>
      </request>
      <response>
        <run_wizard_response status="202" status_text="OK, request submitted">
          <response>
            <start_task_response status="202" status_text="OK, request submitted">
              <report_id>a06d21f7-8e2f-4d7f-bceb-1df852d8b37d</report_id>
            </start_task_response>
          </response>
        </run_wizard_response>
      </response>
    </example>
  </command>
  <command>
    <name>start_task</name>
    <summary>Manually start an existing task</summary>
    <description>
      <p>
        The client uses the start_task command to manually start an
        existing task.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>task_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <e>report_id</e>
      </pattern>
      <ele>
        <name>report_id</name>
        <summary>The id of the report</summary>
        <pattern>
          <t>uuid</t>
        </pattern>
      </ele>
    </response>
    <example>
      <summary>Start a task</summary>
      <request>
        <start_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </start_task>
      </request>
      <response>
        <start_task_response status="200" status_text="OK">
          <report_id>330ee785-c2c0-4d4c-ab96-725142c9b789</report_id>
        </start_task_response>
      </response>
    </example>
  </command>
  <command>
    <name>stop_task</name>
    <summary>Stop a running task</summary>
    <description>
      <p>
        The client uses the stop_task command to manually stop a
        running task.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>task_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Stop a running task</summary>
      <request>
        <stop_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </stop_task>
      </request>
      <response>
        <stop_task_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>sync_config</name>
    <summary>Synchronize a config with a scanner</summary>
    <description>
      <p>
        The client uses the "sync_config" command to request an OSP
        config synchronization with a scanner, adding new parameters and
        removing old ones.
      </p>
    </description>
    <pattern>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Sync the config</summary>
      <request>
        <sync_config>
        </sync_config>
      </request>
      <response>
        <sync_config_response status="202" status_text="OK, request submitted"/>
      </response>
    </example>
  </command>
  <command>
    <name>test_alert</name>
    <summary>Run an alert</summary>
    <description>
      <p>
        The client uses the test_alert command to invoke a test run of
        an alert.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>alert_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
        <o><e>status_details</e></o>
      </pattern>
      <elem>
        <name>status_details</name>
        <summary>
          Detailed error message when the test fails
        </summary>
        <type>text</type>
      </elem>
    </response>
    <example>
      <summary>Test an alert</summary>
      <request>
        <test_alert alert_id="97390ade-e075-11df-9973-002264764cea">
        </test_alert>
      </request>
      <response>
        <test_alert_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>verify_report_format</name>
    <summary>Verify a report format</summary>
    <description>
      <p>
        The client uses the verify_report_format command to verify the trust
        level of an existing report format.
      </p>
      <p>
        The Manager checks whether the signature of the report format currently
        matches the report format.  This includes the script and files used
        to generate reports of this format.  The Manager searches for the
        signature first in the feed, then in the report format itself.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>report_format_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Verify a report format</summary>
      <request>
        <verify_report_format report_format_id="267a3405-e84a-47da-97b2-5fa0d2e8995e">
        </verify_report_format>
      </request>
      <response>
        <verify_report_format_response status="200" status_text="OK"/>
      </response>
    </example>
  </command>
  <command>
    <name>verify_scanner</name>
    <summary>Verify a scanner</summary>
    <description>
      <p>
        The client uses the verify_scanner command to verify whether it is
        possible to connect to an existing scanner.
      </p>
    </description>
    <pattern>
      <attrib>
        <name>scanner_id</name>
        <type>uuid</type>
        <required>1</required>
      </attrib>
    </pattern>
    <response>
      <pattern>
        <attrib>
          <name>status</name>
          <type>status</type>
          <required>1</required>
        </attrib>
        <attrib>
          <name>status_text</name>
          <type>text</type>
          <required>1</required>
        </attrib>
      </pattern>
    </response>
    <example>
      <summary>Verify a scanner</summary>
      <request>
        <verify_scanner scanner_id="6acd0832-df90-11e4-b9d5-28d24461215b">
        </verify_scanner>
      </request>
      <response>
        <verify_scanner_response status="200" status_text="OK">
          <version>OTP/2.0</version>
        </verify_scanner_response>
      </response>
    </example>
  </command>

  <!-- Compatibility changes between versions. -->
  <change>
    <command>GET_REPORTS</command>
    <summary>Attribute &quot;usage_type&quot; is added</summary>
    <description>
      <p>
        Attribute &quot;usage_type&quot; is added to differentiate between
        scan and audit reports. If omitted the default value is "scan".
      </p>
      <p>
        For audit reports, the elements &quot;result_count&quot;
        and &quot;severity&quot; are replaced by &quot;compliance_count&quot;
        and &quot;compliance&quot;.
      </p>
      <p>
        New options/columns for the attribute &quot;report_filter&quot;
        term are added for audit reports.
      </p>
    </description>
    <version>22.6</version>
  </change>
  <change>
    <command>GET_RESULTS</command>
    <summary>New element &quot;compliance&quot; in &quot;get_results&quot; response</summary>
    <description>
      <p>
        New element &quot;compliance&quot; is added to specify the compliance state
        for a result.
      </p>
    </description>
    <version>22.6</version>
  </change>
  <change>
    <command>CREATE_TAG,MODIFY_TAG,CREATE_FILTER,MODIFY_FILTER</command>
    <summary>&quot;type&quot; can take new values</summary>
    <description>
      <p>
        &quot;type&quot; can be an &quot;audit_report&quot;, &quot;audit&quot; or &quot;policy&quot;
      </p>
    </description>
    <version>22.6</version>
  </change>
  <change>
    <command>CREATE_REPORT_CONFIG, DELETE_REPORT_CONFIG, GET_REPORT_CONFIGS AND MODIFY_REPORT_CONFIG</command>
    <summary>New commands for handling report configs</summary>
    <description>
      <p>
        Added new commands for handling report configs.
      </p>
    </description>
    <version>22.6</version>
  </change>
  <change>
    <command>GET_FEEDS</command>
    <summary>Extend &quot;get_feeds&quot; command</summary>
    <description>
      <p>
        &quot;get_feeds&quot; command is extended with &quot;feed_owner_set&quot;,
        &quot;feed_roles_set&quot; and &quot;feed_resources_access&quot;.
      </p>
    </description>
    <version>22.6</version>
  </change>
  <change>
    <command>GET_INFO</command>
    <summary>Changes for &quot;CVE&quot; and &quot;CPE&quot; info elements</summary>
    <description>
      <p>
        For CVE info elements, &quot;configuration_nodes&quot; and &quot;references&quot;
        are added.
      </p>
      <p>
        For CPE info elements, &quot;nvd_id&quot; is replaced by &quot;cpe_name_id&quot;
        and &quot;status&quot; is replaced by &quot;deprecated&quot;.
        &quot;references&quot; and &quot;deprecated_by&quot; are added.
      </p>
    </description>
    <version>22.6</version>
  </change>
  <change>
    <command>GET_RESOURCE_NAMES</command>
    <summary>The new command GET_RESOURCE_NAMES has been added</summary>
    <description>
      <p>
        A new command to get one or many names and IDs for items of given type.
      </p>
    </description>
    <version>22.5</version>
  </change>
  <change>
    <command>CREATE_TASK, CREATE_USER, GET_TASKS, GET_USERS, MODIFY_TASK, MODIFY_USER</command>
    <summary>Removed network interface (iface) options</summary>
    <description>
      <p>
        The option to choose the source interface in the form of the task
        preference &quot;source_iface&quot; has been removed as well as
        the &quot;ifaces&quot; element of users to limit the allowed network
        interfaces.
      </p>
    </description>
    <version>22.4</version>
  </change>
  <change>
    <command>GET_INFO</command>
    <summary>Removed the Secinfo-type OVALDEF from the GET_INFO command
    </summary>
    <description>
      <p>
        The type OVALDEF is removed from the list of possible types for
        the GET_INFO command.
      </p>
      <p>
        OVAL Definitions are no longer supported.
      </p>
    </description>
    <version>22.4</version>
  </change>
  <change>
    <command>GET_INFO</command>
    <summary>Replaced CVSS score elements by integer score</summary>
    <description>
      <p>
        The elements CVSS and MAX_CVSS of CPEs, CVEs, OVAL definitions and
        CERT advisories are replaced by the SEVERITY element.
      </p>
      <p>
        NVTs still contain the CVSS_BASE element for backward compatibility
        of reports. However, the use of the CVSS_BASE element is deprecated
        and the score attribute of the new SEVERITIES element should be used
        instead.
      </p>
    </description>
    <version>21.4</version>
  </change>
  <change>
    <command>GET_INFO</command>
    <summary>Replaced CVSS vector components of CVEs with vector string</summary>
    <description>
      <p>
        The elements VECTOR, COMPLEXITY, AUTHENTICATION,
        CONFIDENTIALITY_IMPACT, INTEGRITY_IMPACT and AVAILABILITY_IMPACT
        are replaced by the CVSS_VECTOR element that contains the CVSS base
        vector in a shorter string representation.
      </p>
      <p>
        This vector string can also use newer CVSS versions like 3.1 if
        available.
      </p>
    </description>
    <version>21.4</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>Removed element SEVERITY_CLASS from element REPORT</summary>
    <description>
      <p>
        The element SEVERITY_CLASS contained the range specification for the applied classification scheme.
        There is only fixed scheme left, so the specificion is not needed anymore.
      </p>
    </description>
    <version>21.4</version>
  </change>
  <change>
    <command>GET_REPORTS, GET_RESULTS</command>
    <summary>Remove elements AUTOFP and AUTO_TYPE from element FILTERS</summary>
    <description>
      <p>
        The element to specify the autofp value and the related auto_type for a filter is removed.
      </p>
    </description>
    <version>21.4</version>
  </change>
  <change>
    <command>CREATE_SCANNER, MODIFY_SCANNER, GET_REPORTS</command>
    <summary>GMP scanners have been removed</summary>
    <description>
      <p>
        The scanner type "GMP" has been removed.  This is the original "slave"
        feature, where a gvmd (the master) controls another gvmd (the slave)
        via GMP.
      </p>
      <p>
        Existing GMP scanners are automatically migrated to type "OpenVAS".
        The "OpenVAS" scanner type uses the OSP protocol, and is better suited
        to the master-slave scenario.
      </p>
      <p>
        CREATE_SCANNER and MODIFY_SCANNER no longer accept type "4".
      </p>
      <p>
        In the report XML, as returned by GET_REPORTS, SLAVE has been removed
        from REPORT/TASK.
      </p>
      <p>
        All other scanner related commands work as before, but there are no
        GMP scanners for them to work with.
      </p>
    </description>
    <version>21.4</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>Removed element RESULT_COUNT/DEBUG from element REPORT</summary>
    <description>
      <p>
        The element DEBUG inside RESULT_COUNT is removed. Vulnerability tests do
        not produce debug messages since 2012.
      </p>
    </description>
    <version>21.4</version>
  </change>
  <change>
    <command>GET_NOTES</command>
    <summary>Element THREAT has been removed</summary>
    <description>
      <p>
        The element "THREAT" of element "NOTE" is removed.
      </p>
      <p>
        This information is redundant with the element "SEVERITY".
      </p>
    </description>
    <version>21.4</version>
  </change>

  <change>
    <command>CREATE_TARGET, RUN_WIZARD</command>
    <summary>Default port list removed from CREATE_TARGET</summary>
    <description>
      <p>
        CREATE_TARGET will no longer automatically add a port list to the
        target if a port list or range is not given.  In other words, it
        is now mandatory to supply either PORT_LIST or PORT_RANGE.
      </p>
      <p>
        As a side effect wizards that use CREATE_TARGET now provide their
        own default if no "port_list_id" param is given: "All IANA assigned
        TCP", which has UUID 33d0cd82-57c6-11e1-8ed1-406186ea4fc5.
      </p>
    </description>
    <version>20.08</version>
  </change>
  <change>
    <command>CREATE_SCHEDULE, GET_SCHEDULES, MODIFY_SCHEDULE</command>
    <summary>Classic schedule elements removed</summary>
    <description>
      <p>
        The classic schedule elements like PERIOD, DURATION and BYDAY have been
        removed.  Schedules are now always created, defined and modified using
        the newer iCalendar elements.
      </p>
      <p>
        This includes the filter keyword 'initial_offset'.
      </p>
    </description>
    <version>20.08</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>HOST_PROGRESS has been removed</summary>
    <description>
      <p>
        The element HOST_PROGRESS in PROGRESS has been removed.
      </p>
      <p>
        To be precise, it is no longer possible for the element to be included
        in reports, as it was only sent for OTP scanners, and OTP scanners were
        removed in an earlier version.
      </p>
    </description>
    <version>20.08</version>
  </change>
  <change>
    <command>GET_SETTINGS, MODIFY_SETTING</command>
    <summary>Setting UUID extended</summary>
    <description>
      <p>
        The UUID of setting 'Notes Top Dashboard Configuration' was changed
        to a valid UUID.  The UUID was extended by one character from
        'ce7b121-c609-47b0-ab57-fd020a0336f4'
        to 'ce7b121-c609-47b0-ab57-fd020a0336f4a'.
      </p>
    </description>
    <version>20.08</version>
  </change>
  <change>
    <command>COMMANDS</command>
    <summary>COMMANDS has been removed</summary>
    <description>
      <p>
        The command COMMANDS has been removed.  It is no longer possible
        to group multiple commands into a single command.  It is, however,
        still possible to run multiple commands sequentially on the same
        GMP connection.
      </p>
    </description>
    <version>20.08</version>
  </change>
  <change>
    <command>CREATE_AGENT, DELETE_AGENT, GET_AGENTS, MODIFY_AGENT, VERIFY_AGENT</command>
    <summary>The agents facility has been removed</summary>
    <description>
      <p>
        Agents have been removed entirely.  This includes all agents commands
        and the filter setting 'Agents Filter' (UUID
        4a1334c1-cb93-4a79-8634-103b0a50bdcd).
      </p>
    </description>
    <version>20.08</version>
  </change>
  <change>
    <command>GET_... Commands using filters</command>
    <summary>GET_... commands will default to "rows=-2" filter</summary>
    <description>
      <p>
        If no filter or a filter without a rows keyword is given, the various
        GET_... commands using filters will behave as if "rows=-2" was given
        instead of "rows=-1".
      </p>
      <p>
        This means they will only return the number of rows defined by the
        "Rows Per Page" setting and the maximum amount of rows has to be
        requested explicitly with a "rows=-1" filter keyword or 
        (where available) the ignore_pagination option.
      </p>
    </description>
    <version>9.0</version>
  </change>
  <change>
    <command>GET_INFO</command>
    <summary>Attribute "type" can not be "ALLINFO" anymore</summary>
    <description>
      <p>
        The type "ALLINFO" is not supported anymore.
      </p>
    </description>
    <version>20.08</version>
  </change>
  <change>
    <command>MODIFY_REPORT</command>
    <summary>The command MODIFY_REPORT is removed</summary>
    <description>
      <p>
        The command "MODIFY_REPORT" is not supported anymore.
      </p>
    </description>
    <version>20.08</version>
  </change>

  <change>
    <command>CREATE_CONFIG</command>
    <summary>NVT preferences without IDs are no longer accepted</summary>
    <description>
      <p>
        Importing of old scan configs that do not specify an ID for their
        NVT preferences is no longer allowed.
      </p>
    </description>
    <version>9.0</version>
  </change>
  <change>
    <command>CREATE_CONFIG</command>
    <summary>NVT preferences without IDs are no longer accepted</summary>
    <description>
      <p>
        Importing of old scan configs that do not specify an ID for their
        NVT preferences is no longer allowed.
      </p>
    </description>
    <version>9.0</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>Default of "details" attribute is now 0</summary>
    <description>
      <p>
        The default of the "details" attribute has changed from 1 to 0.
        This matches the defaults of all the other GET commands.
      </p>
    </description>
    <version>9.0</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>Remove report type "assets"</summary>
    <description>
      <p>
        The "assets" report has been removed from GET_REPORTS.  Clients should
        instead use the GET_ASSETS command.
      </p>
      <p>
        As a result the GET_REPORTS attributes "type", "host", "pos",
        "host_first_result", "host_max_results", "host_levels" and
        "host_search_phrase" were removed.
      </p>
      <p>
        On the response side REPORT/REPORT/HOST_COUNT has been removed,
        as this was only returned by the assets reports.
      </p>
      <p>
        At the same time the element REPORT/REPORT/FILTERS/HOST has been
        removed.  This element was left behind during the switch to named
        filters very long ago.  It originally showed the host being filtered
        for delta reports, but this information is in the filter keywords
        these days.
      </p>
    </description>
    <version>9.0</version>
  </change>
  <change>
    <command>CREATE_REPORT</command>
    <summary>Remove elements TASK/NAME and TASK/COMMENT</summary>
    <description>
      <p>
        The elements NAME and COMMENT of element TASK have been removed
        from the command CREATE_REPORT.   It is no longer possible to
        create a task when uploading a report.
      </p>
      <p>
        The alternate option, of specifying an existing task using the
        TASK/@id attribute, is now required.
      </p>
    </description>
    <version>9.0</version>
  </change>
  <change>
    <command>GET_PREFERENCES, GET_CONFIGS</command>
    <summary>Add NVT Preferences ID</summary>
    <description>
      <p>
        The PREFERENCE element in GET_PREFERENCES and GET_CONFIGS responses
        contains an ID subelement. The ID should help in identifying
        preferences within the same nvt instead of using the preference name
        which may be changed.
      </p>
      <p>
        The content of the elements CVE_ID, BUGTRAQ_ID and XREFS is now integrated
        into the REFS element.
      </p>
    </description>
    <version>9.0</version>
  </change>
  <change>
    <command>GET_NVTS, GET_INFO</command>
    <summary>New element REFS replaces CVE_ID, BUGTRAQ_ID, XREFS and CERT_REFS</summary>
    <version>9.0</version>
    <description>
      <p>
        The former element CERT_REFS is now named REFS and the id's for the type
        are now lower case, ie. "cert-bund" and "dfn-cert" instead of "CERT-Bund" and "DFN-CERT".
      </p>
      <p>
        The content of the elements CVE_ID, BUGTRAQ_ID and XREFS is now integrated
        into the REFS element.
      </p>
    </description>
  </change>
  <change>
    <command>GET_REPORTS, GET_RESULTS</command>
    <summary>New element RESULT/NVT/REFS replaces RESULT/NVT/CERT</summary>
    <version>9.0</version>
    <description>
      <p>
        The former element CERT is now named REFS and the id's for the type
        are now lower case, ie. "cert-bund" and "dfn-cert" instead of "CERT-Bund" and "DFN-CERT".
      </p>
    </description>
  </change>
  <change>
    <command>GET_REPORTS, GET_RESULTS</command>
    <summary>Elements RESULT/NVT/CVE, RESULT/NVT/BID and RESULT/NVT/XREF consolidated into RESULT/NVT/REFS</summary>
    <version>9.0</version>
    <description>
      <p>
        The content of former elements CVE and BID are now also part of REFS and the
        respective REF types are "cve" and "bid".
      </p>
      <p>
        The content of former element XREF is now also part of REFS and the
        respective REF type is the former prefix of the XREF, for example "URL".
      </p>
      <p>
        The "NOCVE", "NOXREF" and "NOBID" strings that previously indicated the absence
        of a CVE, XREF or BID are not applied anymore.
      </p>
    </description>
  </change>

  <change>
    <command>CREATE_FILTER, CREATE_TARGET</command>
    <summary>NAME MAKE_UNIQUE removed</summary>
    <description>
      <p>
        The MAKE_UNIQUE subelement of the NAME given in the command is removed.
        The client should instead check if the creation fails because of a
        duplicate name and retry with a different one.
      </p>
      <p>
        This does, however, have no effect on the automatic naming when
        copying a resource without giving a name.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>CREATE_ASSET</command>
    <summary>ASSET TYPE now mandatory</summary>
    <description>
      <p>
        The TYPE subelement of the ASSET is now mandatory and must be
        a type supported by the command.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_NVTS</command>
    <summary>Remove COPYRIGHT</summary>
    <version>8.0</version>
    <description>
      <p>
        COPYRIGHT is removed from NVT, as it is no longer supported by the
        scanner.
      </p>
    </description>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>The report type &quot;prognostic&quot; has been removed.</summary>
    <description>
      <p>
        The report type &quot;prognostic&quot; has been removed. Instead, tasks
        using the CVE Scanner should be used.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>All Commands</command>
    <summary>OMP is renamed to Greenbone Management Protocol (GMP)</summary>
    <description>
      <p>
        The OpenVAS Management Protocol (OMP) is renamed to Greenbone Management Protocol (GMP).
        The protocol as such does not change except for the changes documented here
        between OMP 7.0 and GMP 8.0.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>Most GET_... Commands</command>
    <summary>USER_TAGS, NOTES, OVERRIDES hidden when empty</summary>
    <description>
      <p>
        The USER_TAGS element in various GET_... commands and the NOTES and
        OVERRIDES one in results is only included if there are tags etc.
        for the result or other resource.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>CREATE_TAG, GET_TAGS, MODIFY_TAG</command>
    <summary>RESOURCE replaced with RESOURCES, removed filter keywords</summary>
    <description>
      <p>
        In the tag commands the single RESOURCE element is replaced with a
        RESOURCES element which contains the TYPE and which for CREATE_TAG
        and MODIFY_TAG may contain one or more RESOURCE elements to specify
        the resources the tag is to be attached to.
      </p>
      <p>
        To get the resources a tag is attached to, use a GET_... command of the
        type given in the RESOURCES / TYPE element with the tag_id keyword
        in the filter.
      </p>
      <p>
        Additionally the tag filter keywords orphan, resource,
        resource_location, resource_name and resource_uuid have been removed
        from GET_TAGS. Instead the keyword resources has been added which
        selects the total number of resources a tag is attached to.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>SYNC_FEED, SYNC_SCAP, SYNC_CERT</command>
    <summary>Commands removed</summary>
    <description>
      <p>
        The SYNC_FEED, SYNC_SCAP and SYNC_CERT commands have been removed, as
        they are no longer used by GSA, and they have been (or will be)
        superseded by automatic feed updating.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>HOST_START and HOST_END no longer returned</summary>
    <description>
      <p>
        The element REPORT no longer contains the elements HOST_START and HOST_END.
      </p>
      <p>
        Both elements were already redundant. The elements START and END of
        the REPORT element HOST contain the same timestamps.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_TASKS</command>
    <summary>REPORTS no longer returned, and RESULT_COUNT only sent with details</summary>
    <description>
      <p>
        The element REPORTS, which contained a summary of every report on the
        task, is no longer included in the GET_TASKS response.
      </p>
      <p>
        Similarly, the element RESULT_COUNT is now only included in
        GET_TASKS_RESPONSE when the "details" attribute is true.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_NVTS</command>
    <summary>Response element CATEGORY is now an integer value instead of a string</summary>
    <description>
      <p>
        The element CATEGORY was using a string representation of an integer enumeration.
        Now the original integer representation is used.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>The returned report element has now a element named gmp instead of omp</summary>
    <description>
      <p>
        The element REPORT contained an element OMP to indicate the version. Now there
        is the element GMP to indicate the version.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_VULNS</command>
    <summary>The new command GET_VULNS has been added</summary>
    <description></description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_SETTINGS, GET_REPORTS, MODIFY_SETTING</command>
    <summary>Severity class OpenVAS Classic removed</summary>
    <description>
      <p>
        Severity Class "OpenVAS Classic" (short name "classic", UUID
        "dc1d556a-89e1-11e3-bc21-406186ea4fc5") has been removed.
      </p>
      <p>
        When migrating to this version all users using the "OpenVAS Classic"
        class will be switched to "NVD Vulnerability Severity Ratings".
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_TASKS, GET_REPORTS</command>
    <summary>Task status "Internal Error" renamed to "Interrupted"</summary>
    <description>
      <p>
        The task status "Internal Error" is now called "Interrupted", to
        better fit its function.
      </p>
    </description>
    <version>8.0</version>
  </change>
  <change>
    <command>GET_INFO, GET_NVTS</command>
    <summary>VERSION element removed from NVTs</summary>
    <description>
      <p>
        The VERSION element has been removed from NVTs.
      </p>
    </description>
    <version>8.0</version>
  </change>

  <change>
    <command>GET_NVT_FEED_VERSION</command>
    <summary>Command removed</summary>
    <description>
      <p>
        The GET_NVT_FEED_VERSION command has been removed, as it has been
        superseded by the GET_FEEDS command.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>GET_TASKS, MODIFY_TASK</command>
    <summary>Element SLAVE removed</summary>
    <description>
      <p>
        Slaves have been replaced by GMP Scanners, therefore the SLAVE
        elements of commands GET_TASKS and MODIFY_TASK have been removed.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>GET_CREDENTIALS</command>
    <summary>Attribute "slaves" and element SLAVES removed</summary>
    <description>
      <p>
        Slaves have been replaced by GMP Scanners, therefore the "slaves"
        attribute and CREDENTIAL/SLAVES element of GET_CREDENTIALS have been
        removed.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>CREATE_TASK</command>
    <summary>Element SLAVE removed</summary>
    <description>
      <p>
        Slaves have been replaced by GMP Scanners, therefore the SLAVE element
        of CREATE_TASK has been removed.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>CREATE_SLAVE, DELETE_SLAVE, GET_SLAVES, MODIFY_SLAVE</command>
    <summary>Commands removed</summary>
    <description>
      <p>
        Slaves have been replaced by GMP Scanners, therefore the CREATE_SLAVE,
        DELETE_SLAVE, GET_SLAVES and MODIFY_SLAVE commands have been removed.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>DESCRIBE_FEED, DESCRIBE_SCAP, DESCRIBE_CERT</command>
    <summary>Commands replaced with GET_FEEDS</summary>
    <description>
      <p>
        The commands DESCRIBE_FEED, DESCRIBE_SCAP and DESCRIBE_CERT have been
        replaced with a single command, GET_FEEDS.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>GET_REPORT_FORMATS, CREATE_REPORT_FORMAT</command>
    <summary>Element GLOBAL removed</summary>
    <description>
      <p>
        The GLOBAL element has been removed from REPORT_FORMAT.  The element
        will simply be ignored by CREATE_REPORT_FORMAT.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>DESCRIBE_AUTH, MODIFY_AUTH</command>
    <summary>Response attributes "key" and "value" moved to elements</summary>
    <description>
      <p>
        The attributes "key" and "value" of AUTH_CONF_SETTING have been moved
        to new child elements of AUTH_CONF_SETTING, KEY and VALUE.  This is in order
        to preserve whitespace in the settings.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>All GET_... commands</command>
    <summary>Limit on number of returned rows introduced</summary>
    <description>
      <p>
        The new setting "Max Rows Per Page" introduces a hard upper limit
        on the number of rows return by any GET command, regardless of the
        value of the "rows" term in the filter.
      </p>
      <p>
        The setting defaults to 1000 and can be changed globally via the
        --max-rows option.  A value of 0 indicates no limit, which is the
        previous behaviour.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>GET_RESULTS</command>
    <summary>Redundant filtering attributes removed</summary>
    <description>
      <p>
        The command attributes "apply_overrides", "autofp", "notes" and
        "overrides" were removed.
        Equivalent functionality is available using filters
        (with the filter and filt_id attributes).
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>Redundant filtering attributes removed</summary>
    <description>
      <p>
        The command attributes "first_result", "max_results", "sort_order",
        "sort_field", "apply_overrides", "levels", "search_phrase",
        "min_cvss_base", "min_qod", "notes", "overrides", "delta_states",
        "autofp", "result_hosts_only" and "timezone" were removed.
        Equivalent functionality is available using filters
        (with the filter and filt_id attributes).
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>Filter keywords in response changed to common format</summary>
    <description>
      <p>
        The elements "phrase", "autofp", "notes", "overrides",
        "apply_overrides", "result_hosts_only", "min_cvss_base",
        "min_qod", "timezone" were removed from the "filters" element in the
        report and replaced with a "keywords" element using the same
        syntax as other GET_... commands.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>GET_CREDENTIALS</command>
    <summary>Credential types renamed</summary>
    <description>
      <p>
        The TYPE element in the response will contain "up" instead of "pass"
        for username + password credentials and "usk" instead of "gen" for
        username + SSH key ones.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>CREATE_LSC_CREDENTIAL, DELETE_LSC_CREDENTIAL, GET_LSC_CREDENTIALS, MODIFY_LSC_CREDENTIAL</command>
    <summary>Resource type and commands renamed</summary>
    <description>
      <p>
        The type LSC_CREDENTIAL has been renamed to CREDENTIAL, so
        the CREATE_LSC_CREDENTIAL command is now named CREATE_CREDENTIAL,
        GET_LSC_CREDENTIALS is named GET_CREDENTIALS, etc.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>CREATE_SCANNER, GET_SCANNERS, MODIFY_SCANNER</command>
    <summary>key_priv and key_pub replaced by credential</summary>
    <description>
      <p>
        The key_priv and key_pub elements have been replaced by a credential
        one referencing a "cc" (client certificate) type credential.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>CREATE_SLAVE, GET_SLAVES, MODIFY_SLAVE</command>
    <summary>username and password replaced by credential</summary>
    <description>
      <p>
        The username and password elements have been replaced by a credential
        one referencing a "up" (username + password) type credential.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>GET_TARGETS</command>
    <summary>&quot;lsc_&quot; removed from credential element names</summary>
    <description>
      <p>
        The elements ssh_lsc_credential, smb_lsc_credential and
        esxi_lsc_credential have been renamed to ssh_credential, smb_credential
        and esxi_credential.
      </p>
    </description>
    <version>7.0</version>
  </change>
  <change>
    <command>PAUSE_TASK, RESUME_PAUSED_TASK</command>
    <summary>Commands removed</summary>
    <description>
      <p>
        The task pausing feature has been removed and thus, the PAUSE_TASK and
        RESUME_PAUSED_TASK commands don't exist anymore.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>GET_NOTES, GET_OVERRIDES, GET_REPORTS, GET_RESULTS</command>
    <summary>Element RISK_FACTOR removed from element NVT</summary>
    <description>
      <p>
        Risk factors have been replaced by CVSS scores in all NVTs, so the
        RISK_FACTOR element has been removed from the NVT elements in
        various commands.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>RESUME_STOPPED_TASK, RESUME_TASK</command>
    <summary>RESUME_STOPPED_TASK renamed to RESUME_TASK</summary>
    <description>
      <p>
        The resuming of tasks is now done via the new command RESUME_TASK,
        which is the former RESUME_STOPPED_TASK. There is no other resumable
        status than "stopped" anymore and thus the command names are
        consolidated for consistency and to avoid confusion.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>RESUME_OR_START_TASK</command>
    <summary>Command removed</summary>
    <description>
      <p>
        As part of the consolidation of the start/resume handling of tasks,
        the command RESUME_OR_START_TASK was removed. Use a combination of
        START_TASK and RESUME_TASK to establish the same functionality.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>CREATE_TARGET, MODIFY_TARGET</command>
    <summary>Element TARGET_LOCATOR removed</summary>
    <description>
      <p>
        The element TARGET_LOCATOR was removed from CREATE_TARGET and
        MODIFY_TARGET.  This was an older, unused feature.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>GET_RESULTS</command>
    <summary>"result" elements moved to response root element</summary>
    <description>
      <p>
        The "result" elements returned by the GET_RESULTS command are no
        longer nested inside a "results" element but directly inside the
        "get_results_response". The "results" element is used to return the
        "max" and "start" attributes like similar elements for other types.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>GET_TARGET_LOCATORS</command>
    <summary>Command removed</summary>
    <description>
      <p>
        The command GET_TARGET_LOCATORS was removed.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>GET_TASKS</command>
    <summary>Attribute "rcfile" and associate RCFILE removed</summary>
    <description>
      <p>
        The attribute "rcfile" and associate response element RCFILE were
        removed.  It is no longer possible to get an openvasrc configuration
        for a task.  This feature was primarily introduced to support the
        GTK frontend openvas-client, which is no longer maintained.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>CREATE_CONFIG, CREATE_TASK, MODIFY_TASK</command>
    <summary>RCFILE removed</summary>
    <description>
      <p>
        The element RCFILE was removed.  It is no longer possible to create
        or modify a config or task from an openvasrc file.  This feature was
        primarily introduced to support the GTK frontend openvas-client, which
        is no longer maintained.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>CREATE_LSC_CREDENTIAL</command>
    <summary>KEY/PUBLIC removed</summary>
    <description>
      <p>
        The child PUBLIC of element KEY was removed, because public keys are
        now extracted from the private key.
      </p>
    </description>
    <version>6.0</version>
  </change>
  <change>
    <command>GET_FILTERS, CREATE_FILTER, MODIFY_FILTER</command>
    <summary>Filter type "report" is now "result"</summary>
    <description>
      <p>
        The filter type "report" has been renamed to "result".  Filters of
        this type apply to the results in a report, as used for example on
        the GSA "Report: Results" page.
      </p>
      <p>
        The name "report" is now used for a new filter type.  This filter
        type applies to lists of reports, as used for example on the GSA
        "Reports" page.
      </p>
    </description>
    <version>5.0</version>
  </change>
  <change>
    <command>CREATE_USER, MODIFY_USER</command>
    <summary>ROLE is identified by "id" attribute</summary>
    <description>
      <p>
        In OMP 4.0 these commands were served by OpenVAS Administrator.
      </p>
      <p>
        The attribute "id" is now used to specify a user's role, in the
        ROLE element.  Previously this was done using the NAME element inside
        ROLE.
      </p>
    </description>
    <version>5.0</version>
  </change>
  <change>
    <command>GET_USERS</command>
    <summary>Attributes name and sort_order removed</summary>
    <description>
      <p>
        In OMP 4.0 this command was served by OpenVAS Administrator.
      </p>
      <p>
        The attributes name and sort_order have been remove from the
        GET_USERS in OpenVAS Manager.  Equivalent functionality is available
        using filters (with the filter and filt_id attributes).
      </p>
    </description>
    <version>5.0</version>
  </change>
  <change>
    <command>GET_USERS</command>
    <summary>ROLE is optional, and role name has moved into NAME</summary>
    <description>
      <p>
        In OMP 4.0 this command was served by OpenVAS Administrator.
      </p>
      <p>
        With the new role management, zero or more ROLEs may be present in
        USER.  The name of the role is now in ROLE/NAME instead of directly
        in the text of ROLE.
      </p>
    </description>
    <version>5.0</version>
  </change>
  <change>
    <command>GET_NVTS</command>
    <summary>Fingerprint element removed</summary>
    <description>
      <p>
        The fingerprint element has been removed as signature keys aren't sent
        by the scanner anymore and thus, aren't stored in Manager DB anymore.
      </p>
    </description>
    <version>5.0</version>
  </change>
  <change>
    <command>GET_DEPENDENCIES</command>
    <summary>
      Command removed
    </summary>
    <description>
      <p>
        The command GET_DEPENDENCIES has been removed.
      </p>
    </description>
    <version>5.0</version>
  </change>
  <change>
    <command>MODIFY_TARGET</command>
    <summary>
      Missing elements now leave the associate target property alone
    </summary>
    <description>
      <p>
        MODIFY_TARGET now allows the user to modify one or more of the
        Target elements in a single command, instead of requiring all
        elements to be modified at once.
      </p>
      <p>
        As a side effect of this, leaving out an element will no longer
        set the associated target value to a default, but will leave the
        associated target value untouched.  For example, if SSH_LSC_CREDENTIAL
        is omitted from the MODIFY_TARGET command, the command will no
        longer reset the SSH credential of the target, but will leave the
        target's current SSH credential intact.
      </p>
    </description>
    <version>5.0</version>
  </change>
  <change>
    <command>All standard GET commands</command>
    <summary>Attribute "actions" replaced with owner filtering</summary>
    <description>
      <p>
        The attribute "actions" in GET commands has been removed.  The only
        implemented function of this attribute was to include observed
        resources in the listings.  For example, specifying actions="g" in a
        GET_TASKS command would include tasks that other users had made
        visible to the caller.  The new way to do this is to include
        "owner=any" in the filter.
      </p>
    </description>
    <version>4.0</version>
  </change>
  <change>
    <command>All standard GET commands</command>
    <summary>
      Attributes "sort_field" and "sort_order" replaced by filtering
    </summary>
    <description>
      <p>
        The attributes "sort_field" and "sort_order" have been removed from
        the standard GET commands.  The new way to do this is to include
        keywords like "sort=name" and "sort-reverse=name" in the filter.
      </p>
    </description>
    <version>4.0</version>
  </change>
  <change>
    <command>CREATE_ALERT, GET_ALERTS, MODIFY_ALERT</command>
    <summary>"Threat level" replaced with "Severity" in alert conditions</summary>
    <description>
      <p>
        The alert conditions "Threat level changed" and "Threat level at least"
        have been replaced with "Severity changed" and "Severity at least"
        respectively.<br/>
        The latter now expects a data entity named "severity"
        instead of "level". Both conditions now use a numeric severity value
        instead of the old threat levels like "High", "Medium" etc.
      </p>
    </description>
    <version>4.0</version>
  </change>
  <change>
    <command>GET_REPORTS</command>
    <summary>THREAT removed from PORT in response</summary>
    <version>4.0</version>
    <description>
      <p>
        In the response to GET_REPORTS the element THREAT in REPORTS/PORTS/PORT
        has been replaced with the element CVSS.
      </p>
    </description>
  </change>
  <change>
    <command>GET_TARGETS</command>
    <summary>PORT_RANGE not always returned within TARGET</summary>
    <version>4.0</version>
    <description>
      <p>
        In the response to GET_TARGETS the element PORT_RANGE in TARGETS
        is only included when details attribute is set in REQUEST.
      </p>
    </description>
  </change>
  <change>
    <command>GET_SCANNERS</command>
    <summary>Add mandatory value for OSP parameters</summary>
    <version>4.0</version>
    <description>
      <p>
        The param element now contains a mandatory element that equals 0 if
        false, 1 if true.
      </p>
    </description>
  </change>
  <change>
    <command>GET_NVTS</command>
    <summary>Remove summary element</summary>
    <version>4.0</version>
    <description>
      <p>
        Remove summary element as the nvt tag includes a summary already.
      </p>
    </description>
  </change>

  <change>
    <command>GET_REPORTS, GET_TASKS</command>
    <summary> Include the CVSS3 rating instead of the deprecated CVSS2 rating</summary>
    <version>22.7</version>
    <description>
      <p>
          The commands GET_REPORTS and GET_TASKS as well as the element
          report and the data type levels now include the CVSS3 rating.
      </p>
    </description>
  </change>

  <!-- Changes between 1.0 and 2.0.

     report_formats
         new  CREATE_REPORT_FORMAT, DELETE_REPORT_FORMAT, GET_REPORTS_FORMATS
              VERIFY_REPORT_FORMAT, MODIFY_REPORT_FORMAT
         GET_REPORTS  req  attrib format_id instead of attrib format
                      resp  + attribs id, format_id, extension, content_type
                            entire xml report inside report entity, like others
     Add CVE and BID to RESULT.
         in GET_RESULTS resp
         in GET_NOTES,OVERRIDES resp  when attrib result is true
     slaves
         CREATE_TASK  req  + SLAVE
         new  CREATE_SLAVE, DELETE_SLAVE, GET_SLAVES
         GET_TASKS  resp  + SLAVE
         MODIFY_TASK  req  + SLAVE
         GET_SYSTEM_REPORTS  req  + slave_id attrib
     agent trust
         GET_AGENTS  resp  + TRUST and TRUST/TIME
         new  VERIFY_AGENT
     lsc credentials
         new  MODIFY_LSC_CREDENTIAL
     HELP  req  + format attrib
           resp  + SCHEMA
     report filtered result counts
        GET_REPORTS/REPORT/RESULT_COUNT  + FILTERED and FULL
     target port ranges
        CREATE_TARGET,GET_TARGETS  + PORT_RANGE
     per-protocol target credentials
        CREATE_TARGET,GET_TARGETS  + SSH,SMB_LSC_CREDENTIAL, - LSC_CREDENTIAL
     GET_TASKS  - RESULT_COUNT
  -->

  <!-- Deprecation warnings. -->

  <deprecation>
    <command>COMMANDS</command>
    <summary>The command COMMANDS will be removed.</summary>
    <description>
      <p>
        The command COMMANDS was used to send multiple commands in one request.
        This was meant to avoid multiple server-roundtrips. Since the rountrips
        are not expensive anymore, GMP clients should send each command in
        a separate request.
      </p>
    </description>
    <version>8.0</version>
  </deprecation>

  <deprecation>
    <command>GET_TASKS</command>
    <summary>Drop the elements FIRST_REPORT and SECOND_LAST_REPORT.</summary>
    <description>
      <p>
        In the current version, the response of a GET_TASKS included the elements
        FIRST_REPORT and SECOND_LAST_REPORT which were both used in early versions
        of web-ui clients. Meanwhile, a GET_REPORTS call should be used to get
        whatever report is wanted, applying a suitable filter.
      </p>
    </description>
    <version>8.0</version>
  </deprecation>

  <deprecation>
    <command>CREATE_REPORT</command>
    <summary>Task creation will be removed.</summary>
    <description>
      <p>
        The command CREATE_REPORT used to offer elements TASK/NAME and TASK/COMMENT
        in order to automatically let create a new task for the imported report.
        This functionality is going to be removed. Instead use the direct command CREATE_TASK
        prior to CREATE_REPORT.
      </p>
    </description>
    <version>8.0</version>
  </deprecation>

  <deprecation>
    <command>GET_REPORTS</command>
    <summary>Drop the attributes TYPE, HOST, HOST_FIRST_RESULT, HOST_MAX_RESULTS, HOST_LEVELS, HOST_SEARCH_PHRASE and POS.</summary>
    <description>
      <p>
        In the current version, TYPE can be either SCAN or ASSETS and it defaults to SCAN.
        ASSETS will be removed, because GET_ASSETS should be used instead.
        If you are using TYPE with SCAN, simply remove the TYPE attribute, because the
        type is always SCAN.
      </p>
      <p>
        The other removed attributes only had a meaning in conjunction
        where TYPE was ASSETS.
      </p>
    </description>
    <version>8.0</version>
  </deprecation>

</protocol>
