openapi: 3.0.3



tags:
  - name: Checking that the server is up
  - name: Creating test request objects
  - name: Providing input parameters & files
  - name: Retrieving test information
  - name: Starting test runs
  - name: Test administration
  - name: IDN table management

info:
  version: "2026.4"

  title: ICANN Registry System Testing (RST) API
  contact:
    name: ICANN Global Support
    email: globalsupport@icann.org

  description: |
    The Registry System Testing (RST-API) provides a
    [RESTful](https://en.wikipedia.org/wiki/REST) interface to ICANN's [Registry
    System Testing](https://www.icann.org/resources/registry-system-testing-v2.0)
    platform, which is used to conduct conformance tests of [critical registry
    functions](https://www.icann.org/registry-transition-processes-en#:~:text=Critical%20Functions:,registry%20data%20escrow)
    at various points during the lifecycle of a gTLD (before initial delegation,
    before the [transition to a new Registry Service
    Provider](https://www.icann.org/resources/material-subcontracting-arrangement),
    before the approval of new [registry
    services](https://www.icann.org/resources/pages/rsep-2014-02-19-en)), and
    during [RSP evaluation](https://newgtldprogram.icann.org/en/application-rounds/round2/rsp).

    ### Change Log

    * v2026.4 (2026-04-13):
      * Added the `testPlan`, `dateRequested`, `dateStarted` and `dateCompleted`
        properties to `testRequestSearchResult` objects
        ([#16](https://github.com/icann/rst-api-spec/issues/16))

      * The `skipTestCases` and `ignoreErrorCodes` properties have been
        reinstated ([#57](https://github.com/icann/rst-api-spec/issues/57))

    * v2026.3 (2026-02-23):
      * the changes in v2026.02 (see below) have been temporarily reverted, as
        the corresponding code changes are not yet finished
        ([#54](https://github.com/icann/rst-api-spec/issues/54))

    * v2026.2 (2026-02-13):
      * add the `skipTestCases` and `ignoreErrorCodes` properties to
        the `testRequest` and `testRequestSubmitted` object types
        ([#39](https://github.com/icann/rst-api-spec/issues/39))

    * v2026.01.1 (2026-01-26):
      * add 422 to the list of response codes for file uploads
        ([#49](https://github.com/icann/rst-api-spec/issues/48))

    * v2026.01 (2026-01-05):
      * Constrain permitted values for file names
        ([#37](https://github.com/icann/rst-api-spec/issues/37))

    * v2025.08 (2025-12-05):
      * The `DELETE /v1/test/{id}` API endpoint has been added
        ([#28](https://github.com/icann/rst-api-spec/issues/28))

    * v2025.07 (2025-11-26):
      * Update description of the rsp property
        ([#32](https://github.com/icann/rst-api-spec/issues/32))

    * v2025.06 (2025-10-02):
      * Require at least one value in `permittedVariantPolicies`
        ([#26](https://github.com/icann/rst-api-spec/pull/26))

      * add the `DELETE /v1/test/{id}/run/{runID}` API endpoint
        ([#15](https://github.com/icann/rst-api-spec/pull/15))

    * v2025.05 (2025-09-01):
      * This version incorporates the test plans, error codes and other
        information from [v2025.06 of the RST test
        specifications](https://github.com/icann/rst-test-specs/releases/tag/v2025.06).

      * Add `x-constraints` properties to `idnTableRequest.tag`,
        `idnTestLabel.variantTLDAllocatability` and
        `idnVariantLabel.variantTLDAllocatability` to allow additional
        validation of provided values (see
        [#18](https://github.com/icann/rst-api-spec/issues/18)).

      * Remove `novar` as permitted value for `variantPolicy` (see
        [#20](https://github.com/icann/rst-api-spec/issues/20)).

    * v2025.04 (2025-08-14):
      * This version incorporates the test plans, error codes and other
        information from [v2025.05 of the RST test
        specifications](https://github.com/icann/rst-test-specs/releases/tag/v2025.05).
        There are no other changes.

    * v2025.03 (2025-07-09):
      * This version incorporates the test plans, error codes and other
        information from [v2025.04 of the RST test
        specifications](https://github.com/icann/rst-test-specs/releases/tag/v2025.04)
        (see [#7](https://github.com/icann/rst-api-spec/issues/7)).

      * The `description` property has been removed from the `testCaseLog`
        schema (see [#12](https://github.com/icann/rst-api-spec/issues/12)).

      * Correct documentation of the `POST /v1/test` endpoint to confirm that
        the `rsp` property **MUST** be omitted (see
        [#10](https://github.com/icann/rst-api-spec/issues/10)).

    * v2025.02 (2025-04-10):
      * Update documentation for the `/v1/heartbeat` and `/v1/resource/{file}`
        endpoints, as due to a technical limitation, they can only be accessed
        by authenticated clients.

    * v2025.01 (2025-03-27):
      * This is the first stable release of the RST v2.0 API specification.
        There are no changes to the spec other than the version number.
      * To see the log of changes prior to this version, [click
        here](https://github.com/icann/rst-api-spec/blob/main/etc/pre-v2025.01-changelog.md).

    ### Authentication

    All access to the API is authenticated using TLS certificates that are
    authenticated using `TLSA` records published in the DNS. For more
    information, please consult [the RST v2.0 page on the ICANN
    website](https://www.icann.org/resources/registry-system-testing-v2.0/#authentication-and-access-control).

    ### License

        BSD 3-Clause License
    
    Copyright (c) 2023-2025, Internet Corporation for Assigned Names and Numbers (ICANN).
    
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions are met:
    
    1. Redistributions of source code must retain the above copyright notice, this
       list of conditions and the following disclaimer.
    
    2. Redistributions in binary form must reproduce the above copyright notice,
       this list of conditions and the following disclaimer in the documentation
       and/or other materials provided with the distribution.
    
    3. Neither the name of the copyright holder nor the names of its
       contributors may be used to endorse or promote products derived from
       this software without specific prior written permission.
    
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

servers:
  - url: https://rst-api.icann.org
    description: Production server address
  - url: https://rst-api-ote.icann.org
    description: OT&E server address

paths:
  /v1/heartbeat:
    get:
      tags:
        - Checking that the server is up
      description: |
        This operation can be used to determine if the server is up.

        Only authenticated clients can access this resource.

      operationId: heartbeat
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '204':
          description: A successful result.

  /v1/test:
    post:
      tags:
        - Creating test request objects
      description: |
        This operation creates a new test request object.

        This operation is not available to external users in production, but may
        be used in OT&E.
      operationId: createTest
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/testRequest"
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '200':
          description: A successful result.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/testRequestSubmitted"
          headers:
            location:
              description: The URL of the newly created test request object.
              schema:
                type: string
                format: url
                x-constraints: "@ValidUrl"

  /v1/test/{id}:
    parameters:
      - name: id
        description: The test ID
        in: path
        required: true
        schema:
          type: string
    get:
      tags:
        - Retrieving test information
      description: |
        This operation returns information about a specific test request object.

        Users can only perform this operation if their certificate matches a `TLSA` record published in the DNS at one of the hostnames specified in the `clientIDs` property of the test request object.

        Internal users can perform this operation on any object.
      operationId: getTestInfo
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '200':
          description: A successful result.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/testRequestSubmitted"
    delete:
      tags:
        - Test administration
      operationId: deleteTest
      description: |
        This operation deletes a test object.

        This operation is not available to external users in production, but may
        be used in OT&E.

        External users can only delete test objects that they created.

        Internal users can perform this operation on any object.

      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '204':
          description: A successful result.

  /v1/test/{id}/inputs:
    post:
      tags:
        - Providing input parameters & files
      description: |
        This operation submits test input parameters. Parameters in the payload
        will previously submitted values. Values that are present in the object
        but not present in the payload will not be modified.

        Input parameters can only be submitted for test request objects that
        have the status of `inputs-needed`.

        Users can only perform this operation if their certificate matches a `TLSA` record published in the DNS at one of the hostnames specified in the `clientIDs` property of the test request object.

        Internal users can perform this operation on any object.

        Once all required input parameters have been submitted (and any files
        referenced in those parameters have been uploaded), the status of
        the test request object will change from `input-needed` to
        `inputs-complete`.
      operationId: setTestInputParameters
      parameters:
        - name: id
          description: The test ID
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/inputParameters"
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '204':
          description: A successful result.

  /v1/test/{id}/files:
    post:
      tags:
        - Providing input parameters & files
      description: |
        This resource may be used to upload files. Multiple files may
        be uploaded in a single request. If a filename matches a previously
        submitted file, that file will be replaced.

        All files MUST be referenced in an input parameter **before** being
        uploaded.

        Users can only perform this operation if their certificate matches a `TLSA` record published in the DNS at one of the hostnames specified in the `clientIDs` property of the test request object.

        Internal users can perform this operation on any object.
      operationId: uploadFile
      parameters:
        - name: id
          description: The test ID
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: array
                  items:
                    type: string
                    format: binary
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '204':
          description: A successful result.

  /v1/test/{id}/file/{file}:
    get:
      tags:
        - Retrieving test information
      description: |
        This retrieves an uploaded file.

        Users can only perform this operation if their certificate matches a `TLSA` record published in the DNS at one of the hostnames specified in the `clientIDs` property of the test request object.

        Internal users can perform this operation on any object.
      operationId: getFile
      parameters:
        - name: id
          description: The test ID
          in: path
          required: true
          schema:
            type: string
        - name: file
          description: The file name
          in: path
          required: true
          schema:
            type: string
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '200':
          description: A successful result.
          content:
            "*":
              schema:
                type: string
                format: binary

  /v1/test/{id}/run:
    parameters:
      - name: id
        description: The test ID
        in: path
        required: true
        schema:
          type: string
    post:
      tags:
        - Starting test runs
      operationId: startTestRun
      description: |
        This operation asks the test system to start a new test run. If test
        object's status property is `inputs-complete`, a `201` status will be
        returned; otherwise a `400` status will be returned.
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '201':
          description: A successful result.

  /v1/test/{id}/run/{runID}:
    parameters:
      - name: id
        description: The test ID
        in: path
        required: true
        schema:
          type: string
      - name: runID
        description: The test run ID
        in: path
        required: true
        schema:
          type: string
    get:
      tags:
        - Retrieving test information
      operationId: getTestRun
      description: This operation retrieves details of a test run.
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '200':
          description: A successful result.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/testRunLog"
    delete:
      tags:
        - Test administration
      operationId: cancelTestRun
      description: |
        This operation cancels an ongoing test run. The `result` property of the
        run **MUST** be `in-progress`. If successful, the `result` property will
        be changed to `cancelled`.

        Users can only perform this operation if their certificate matches a `TLSA` record published in the DNS at one of the hostnames specified in the `clientIDs` property of the test request object.

        Internal users can perform this operation on any object.

      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '204':
          description: A successful result.

  /v1/test/{id}/result:
    parameters:
      - name: id
        description: The test ID
        in: path
        required: true
        schema:
          type: string
    post:
      tags:
        - Test administration
      operationId: setTestResult
      description: |
        **Internal users only**

        This operation allows the `result` property of a test request to be
        overridden. The current value of this propert **MUST** be either
        `exception` or `fail`.
      requestBody:
        content:
          'application/x-www-form-urlencoded':
            schema:
              type: object
              required:
                - result
              properties:
                result:
                  description: The new result for the test.
                  type: string
                  enum:
                    - pass
                    - cancelled
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '204':
          description: A successful result.

  /v1/tests:
    get:
      tags:
        - Retrieving test information
      description: |
        This operation performs a search on the database and returns all
        matching results.

        External users will only see results where their certificate
        matches a `TLSA` record published in the DNS at one of the hostnames
        specified in the `clientIDs` property of the test request object.

        Internal users will see results for all users.
      operationId: getTests
      parameters:
        - name: rsp
          description: limit results to a specific RSP (internal users only).
          in: query
          required: false
          schema:
            type: string
        - name: tld
          description: limit results to a specific TLD (internal users only).
          in: query
          required: false
          schema:
            type: string
        - name: applicationID
          description: |
            limit results to specific a application ID (internal users only).
          in: query
          required: false
          schema:
            type: string
        - name: status
          description: limit results to those with the given status.
          in: query
          required: false
          schema:
            $ref: "#/components/schemas/testStatus"
        - name: result
          description: limit results to those with the given result.
          in: query
          required: false
          schema:
            $ref: "#/components/schemas/testResult"
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '200':
          description: A successful result.
          content:
            "application/json":
              schema:
                type: array
                minItems: 0
                items:
                  $ref: "#/components/schemas/testRequestSearchResult"

  /v1/table:
    post:
      tags:
        - IDN table management
      operationId: createIDNTable
      description: |
        This operation creates a new IDN table object.

        IDN table objects must be created before they can be referenced in a
        test request.

        This operation is not available to external users in production, but may
        be used in OT&E.
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/idnTableRequest"
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '201':
          description: A successful result.
          headers:
            location:
              description: The URL of the newly created IDN table object.
              schema:
                type: string
                format: url
                x-constraints: "@ValidUrl"

  /v1/table/{id}:
    parameters:
      - name: id
        description: The table ID.
        in: path
        required: true
        schema:
          type: string

    get:
      tags:
        - IDN table management
      operationId: getIDNTable
      description: |
        This operation returns information about an IDN table object.

        External users can only access IDN tables that are linked to test
        objects associated with their credentials, or which they created.

        Internal users can perform this operation on any object.
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '200':
          description: A successful result.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/idnTable"

    put:
      tags:
        - IDN table management
      operationId: updateIDNTable
      description: |
        This operation updates an existing IDN table object.

        External users can only access IDN tables that are linked to test
        objects associated with their credentials.

        This operation is not available to external users in production, but may
        be used in OT&E.
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/idnTableRequest"
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '204':
          description: A successful result.

    delete:
      tags:
        - IDN table management
      operationId: deleteIDNTable
      description: |
        This operation deletes an IDN table object.

        External users can only access IDN tables that are linked to test
        objects associated with their credentials.

        This operation is not available to external users in production, but may
        be used in OT&E.

        Internal users can perform this operation on any object.
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '204':
          description: A successful result.

  /v1/tables:
    get:
      tags:
        - IDN table management
      operationId: getIDNTables
      description: |
        This operation returns the IDN tables matching the provided query
        parameters.

        External users can only access IDN tables that are linked to test
        objects associated with their credentials, or which they created.

        Internal users can perform this operation on any object.
      parameters:
        - name: rsp
          description: The RSP ID (internal users only).
          in: query
          required: false
          schema:
            type: string
        - name: tag
          description: The language tag.
          in: query
          required: false
          schema:
            type: string
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '200':
          description: A successful result.
          content:
            "application/json":
              schema:
                type: array
                minItems: 0
                items:
                  $ref: "#/components/schemas/idnTableSearchResult"

  /v1/resource/{file}:
    get:
      tags:
        - Providing input parameters & files
      operationId: getResource
      description: |
        This endpoint allows users to download [resources](https://icann.github.io/rst-test-specs/rst-test-specs.html#resources)
        which may be useful in preparing registry systems for testing.

        Only authenticated clients can access resources.
      parameters:
        - name: file
          description: The name of the resource.
          in: path
          required: true
          schema:
            type: string
            enum:
              - dnssecOps.xfrACL.txt
              - epp.client01CSR.pem
              - epp.client01Certificate.pem
              - epp.client01ChainCert.pem
              - epp.client02CSR.pem
              - epp.client02Certificate.pem
              - epp.client02ChainCert.pem
              - epp.clientACL.txt
              - integration.rdeSFTPACL.txt
              - integration.rdeSFTPPublicKey.txt
              - rdap.clientACL.txt
              - rde.encryptionKey.asc
              - tmch.testDNL.csv
              - tmch.testSURL.csv
      responses:
        '400':
            description: |
              This response indicates that the server received a malformed request.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '403':
            description: |
              This response indicates that the access control policy prevents access.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '404':
            description: This response indicates that the resource does not exist.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '405':
            description: This response indicates that the request method is invalid.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '409':
            description: |
              This response indicates that the client has attempted to overwrite a
              resource that already exists.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '422':
          description: |
            This response indicates that the server was unable to process one or
            more uploaded files.
          content:
            "application/json":
              schema:
                $ref: "#/components/schemas/rstError"
        
        '429':
            description: |
              This response indicates that the client has exceeded rate limits.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '504':
            description: |
              This response indicates that an intermediate proxy experienced an error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '500':
            description: |
              This response indicates that there has been an internal server error.
            content:
              "application/json":
                schema:
                  $ref: "#/components/schemas/rstError"
        
        '200':
          description: A successful result.
          content:
            "*":
              schema:
                type: string
                format: binary

components:

  schemas:

    rstError:
      description: |
        This object type represents error messages returned in responses to
        requests that could not be successfully completed.
      type: object
      required:
        - status
        - message
      properties:
        status:
          description: The HTTP status.
          type: integer
          enum:
            - 400
            - 403
            - 404
            - 405
            - 409
            - 422
            - 429
            - 504
            - 500
        errorCode:
          description: The application-specific error code.
          type: integer
          example: 1400
        message:
          description: A human-readable description of the error.
          type: string
          example: "Bad request"

    testRequest:
      description: |
        This object type is used to define the properties of a new test request
        object. The `testRequestSubmitted` type inherits from it.
      type: object
      required:
        - tlds
        - rsp
        - clientIDs
        - testPlan
      properties:
        applicationID:
          description: |
            For RSP evaluation, the application ID, otherwise it should be
            omitted. In OT&E, this **MUST** be omitted when creating a new test
            request.
          type: string
          example: a6e91182-5c63-415c-87dd-2d0902578cd5
        
        rsp:
          description: |
            The RSP's unique ID.
        
            In OT&E, this **MUST** contain the Fully-Qualified Domain Name where a TLSA
            record that validates the client certificate is published.
          type: string
          example: RSPI2404-M51
        
        tlds:
          description: |
            This structure describes the TLDs to which the test relates. It is
            an array which contains an array of logically grouped TLDs (such as
            those with a variant relationship).
        
            Simple example of an ASCII TLD with no IDN tables:
            ```
            {
              "tlds": [
                [
                  {
                    "name": "example",
                    "idnTables": []
                  }
                ]
              ]
            }
            ```
        
            In RSP testing, this property will only contain a single TLD, but more
            complex sets of TLDs with variants are supported for pre-delegation testing.
        
            Example of an ASCII TLD with one or more IDN tables:
            ```
            {
              "tlds": [
                [
                  {
                    "name": "example",
                    "idnTables": [
                      {
                        "id": "06e6ab5b-0e7a-4ff2-8e67-d6320e5ef4b7",
                        "variantPolicy": "novar"
                      },
                      {
                        "id": "25eb306b-1fb0-4def-bf01-fa18815f614b",
                        "variantPolicy": "novar"
                      }
                    ]
                  }
                ]
              ]
            }
            ```
        
            Example of a set of variant TLDs:
            ```
            {
              "tlds": [
                [
                  {
                    "name": "xn--8pvxs",
                    "idnTables": [
                      {
                        "id": "06e6ab5b-0e7a-4ff2-8e67-d6320e5ef4b7",
                        "variantPolicy": "mayallocatevar"
                      }
                    ]
                  },
                  {
                    "name": "xn--8pvz8d",
                    "idnTables": [
                      {
                        "id": "3f60939b-b7bf-46db-9004-126bf08923af",
                        "variantPolicy": "mayallocatevar"
                      }
                    ]
                  }
                ]
              ]
            }
            ```
        
            All the IDN tables referenced in this property **MUST** already
            exist when the test object is created.
        
            If a TLD offers registrations at the third or higher levels, then at
            least one second-level "registry-class" domain name(s) should be
            separately listed, rather than the TLD itself.
          type: array
          minItems: 1
          items:
            type: array
            minItems: 1
            items:
              $ref: "#/components/schemas/tldInfo"
        
        clientIDs:
          description: |
            An array of FQDNs at which one or more `TLSA` records may be found
            which can be used for authentication.
        
            In OT&E, this **MUST** contain the Fully-Qualified Domain Name where a TLSA
            record that validates the client certificate is published, and **MAY**
            contain other IDs.
          type: array
          minItems: 1
          items:
            type: string
            format: hostname
            example: tlsa.rsp.tech
        
        testPlan:
          $ref: "#/components/schemas/testPlan"
        
        dueDate:
          description: |
            The date/time before which the test must be passed. If not provided, the
            test remains open indefinitely (unless the `completed` status is reached).
        
            In OT&E, this **MUST** be omitted when creating a new test request.
          type: string
          format: date-time
        
        skipTestCases:
          description: |
            A list of test cases to be skipped (if the specified test plan includes
            them).
          type: array
          minItems: 1
          items:
            type: string
            enum:
              - dns-address01
              - dns-address02
              - dns-address03
              - dns-connectivity01
              - dns-connectivity02
              - dns-connectivity03
              - dns-consistency02
              - dns-consistency03
              - dns-consistency04
              - dns-consistency05
              - dns-consistency06
              - dns-delegation01
              - dns-delegation02
              - dns-delegation03
              - dns-delegation04
              - dns-delegation05
              - dns-delegation07
              - dns-nameserver01
              - dns-nameserver02
              - dns-nameserver04
              - dns-nameserver05
              - dns-nameserver06
              - dns-nameserver08
              - dns-nameserver09
              - dns-nameserver10
              - dns-nameserver11
              - dns-nameserver12
              - dns-nameserver13
              - dns-syntax05
              - dns-syntax06
              - dns-syntax07
              - dns-zone07
              - dns-zone10
              - dns-zz-consistency
              - dns-zz-idna2008-compliance
              - dnssec-01
              - dnssec-02
              - dnssec-03
              - dnssec-04
              - dnssec-05
              - dnssec-06
              - dnssec-08
              - dnssec-09
              - dnssec-10
              - dnssec-13
              - dnssec-14
              - dnssec-91
              - dnssec-92
              - dnssec-93
              - dnssecOps01-ZSKRollover
              - dnssecOps02-KSKRollover
              - dnssecOps03-AlgorithmRollover
              - epp-01
              - epp-02
              - epp-03
              - epp-04
              - epp-05
              - epp-06
              - epp-07
              - epp-08
              - epp-09
              - epp-10
              - epp-11
              - epp-12
              - epp-13
              - epp-14
              - epp-15
              - epp-16
              - epp-17
              - epp-18
              - epp-19
              - epp-20
              - epp-21
              - epp-23
              - epp-24
              - epp-25
              - epp-26
              - epp-27
              - idn-01
              - idn-02
              - integration-01
              - integration-02
              - integration-03
              - integration-04
              - integration-05
              - minimumRPMs-01
              - minimumRPMs-02
              - minimumRPMs-03
              - rdap-01
              - rdap-02
              - rdap-03
              - rdap-04
              - rdap-05
              - rdap-06
              - rdap-07
              - rdap-08
              - rdap-09
              - rdap-10
              - rdap-91
              - rdap-92
              - rde-01
              - rde-02
              - rde-03
              - rde-04
              - rde-05
              - rde-06
              - rde-07
              - rde-08
              - rde-09
              - rde-10
              - rde-11
              - rde-12
              - rde-13
              - rde-14
              - srsgw-01
              - srsgw-02
              - srsgw-03
              - srsgw-04
              - srsgw-05
              - srsgw-06
              - srsgw-08
              - srsgw-09
              - srsgw-10
              - srsgw-11
              - srsgw-12
              - srsgw-13
              - srsgw-14
              - srsgw-15
          example:
            - epp-99
        
        ignoreErrorCodes:
          description: |
            A mapping of test cases to error codes to be downgraded from `ERROR` to
            `WARNING`, if that error code is generated by the specified test case. Only
            codes of severity `ERROR` can be downgraded.
          type: object
          additionalProperties: false
          properties:
            dns-address01:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-address02:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-address03:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-connectivity01:
              items:
                enum:
                - ZM_CN01_MISSING_NS_RECORD_UDP
                - ZM_CN01_MISSING_SOA_RECORD_UDP
                - ZM_CN01_NO_RESPONSE_NS_QUERY_UDP
                - ZM_CN01_NO_RESPONSE_SOA_QUERY_UDP
                - ZM_CN01_NO_RESPONSE_UDP
                - ZM_CN01_NS_RECORD_NOT_AA_UDP
                - ZM_CN01_SOA_RECORD_NOT_AA_UDP
                - ZM_CN01_UNEXPECTED_RCODE_NS_QUERY_UDP
                - ZM_CN01_UNEXPECTED_RCODE_SOA_QUERY_UDP
                - ZM_CN01_WRONG_NS_RECORD_UDP
                - ZM_CN01_WRONG_SOA_RECORD_UDP
                type: string
              minItems: 1
              type: array
            dns-connectivity02:
              items:
                enum:
                - ZM_CN02_MISSING_NS_RECORD_TCP
                - ZM_CN02_MISSING_SOA_RECORD_TCP
                - ZM_CN02_NO_RESPONSE_NS_QUERY_TCP
                - ZM_CN02_NO_RESPONSE_SOA_QUERY_TCP
                - ZM_CN02_NO_RESPONSE_TCP
                - ZM_CN02_NS_RECORD_NOT_AA_TCP
                - ZM_CN02_SOA_RECORD_NOT_AA_TCP
                - ZM_CN02_UNEXPECTED_RCODE_NS_QUERY_TCP
                - ZM_CN02_UNEXPECTED_RCODE_SOA_QUERY_TCP
                - ZM_CN02_WRONG_NS_RECORD_TCP
                - ZM_CN02_WRONG_SOA_RECORD_TCP
                type: string
              minItems: 1
              type: array
            dns-connectivity03:
              items:
                enum:
                - ZM_IPV4_ONE_ASN
                - ZM_IPV6_ONE_ASN
                type: string
              minItems: 1
              type: array
            dns-consistency02:
              items:
                enum:
                - ZM_MULTIPLE_SOA_RNAMES
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-consistency03:
              items:
                enum:
                - ZM_MULTIPLE_SOA_TIME_PARAMETER_SET
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-consistency04:
              items:
                enum:
                - ZM_MULTIPLE_NS_SET
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_NS_QUERY
                type: string
              minItems: 1
              type: array
            dns-consistency05:
              items:
                enum:
                - ZM_CHILD_NS_FAILED
                - ZM_CHILD_ZONE_LAME
                - ZM_EXTRA_ADDRESS_CHILD
                - ZM_IN_BAILIWICK_ADDR_MISMATCH
                - ZM_NO_RESPONSE
                - ZM_OUT_OF_BAILIWICK_ADDR_MISMATCH
                type: string
              minItems: 1
              type: array
            dns-consistency06:
              items:
                enum:
                - ZM_MULTIPLE_SOA_MNAMES
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-delegation01:
              items:
                enum:
                - ZM_NOT_ENOUGH_IPV4_NS_CHILD
                - ZM_NOT_ENOUGH_IPV4_NS_DEL
                - ZM_NOT_ENOUGH_IPV6_NS_CHILD
                - ZM_NOT_ENOUGH_IPV6_NS_DEL
                - ZM_NOT_ENOUGH_NS_CHILD
                - ZM_NOT_ENOUGH_NS_DEL
                - ZM_NO_IPV4_NS_CHILD
                - ZM_NO_IPV4_NS_DEL
                - ZM_NO_IPV6_NS_CHILD
                - ZM_NO_IPV6_NS_DEL
                type: string
              minItems: 1
              type: array
            dns-delegation02:
              items:
                enum:
                - ZM_CHILD_NS_SAME_IP
                - ZM_DEL_NS_SAME_IP
                - ZM_SAME_IP_ADDRESS
                type: string
              minItems: 1
              type: array
            dns-delegation03:
              items:
                enum:
                - ZM_REFERRAL_SIZE_TOO_LARGE
                type: string
              minItems: 1
              type: array
            dns-delegation04:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-delegation05:
              items:
                enum:
                - ZM_NO_RESPONSE
                - ZM_NS_IS_CNAME
                type: string
              minItems: 1
              type: array
            dns-delegation07:
              items:
                enum:
                - ZM_EXTRA_NAME_PARENT
                - ZM_TOTAL_NAME_MISMATCH
                type: string
              minItems: 1
              type: array
            dns-nameserver01:
              items:
                enum:
                - ZM_IS_A_RECURSOR
                - ZM_NO_RESPONSE
                type: string
              minItems: 1
              type: array
            dns-nameserver02:
              items:
                enum:
                - ZM_BREAKS_ON_EDNS
                - ZM_EDNS_RESPONSE_WITHOUT_EDNS
                - ZM_EDNS_VERSION_ERROR
                - ZM_NO_EDNS_SUPPORT
                - ZM_NO_RESPONSE
                - ZM_NS_ERROR
                type: string
              minItems: 1
              type: array
            dns-nameserver04:
              items:
                enum:
                - ZM_DIFFERENT_SOURCE_IP
                type: string
              minItems: 1
              type: array
            dns-nameserver05:
              items:
                enum:
                - ZM_AAAA_BAD_RDATA
                - ZM_AAAA_QUERY_DROPPED
                - ZM_AAAA_UNEXPECTED_RCODE
                - ZM_A_UNEXPECTED_RCODE
                - ZM_NO_RESPONSE
                type: string
              minItems: 1
              type: array
            dns-nameserver06:
              items:
                enum:
                - ZM_CAN_NOT_BE_RESOLVED
                - ZM_NO_RESOLUTION
                type: string
              minItems: 1
              type: array
            dns-nameserver08:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-nameserver09:
              items:
                enum:
                - ZM_CASE_QUERIES_RESULTS_DIFFER
                type: string
              minItems: 1
              type: array
            dns-nameserver10:
              items:
                enum:
                - ZM_N10_EDNS_RESPONSE_ERROR
                - ZM_N10_NO_RESPONSE_EDNS1_QUERY
                - ZM_N10_UNEXPECTED_RCODE
                type: string
              minItems: 1
              type: array
            dns-nameserver11:
              items:
                enum:
                - ZM_N11_NO_EDNS
                - ZM_N11_NO_RESPONSE
                - ZM_N11_RETURNS_UNKNOWN_OPTION_CODE
                - ZM_N11_UNEXPECTED_ANSWER_SECTION
                - ZM_N11_UNEXPECTED_RCODE
                - ZM_N11_UNSET_AA
                type: string
              minItems: 1
              type: array
            dns-nameserver12:
              items:
                enum:
                - ZM_NO_EDNS_SUPPORT
                - ZM_NO_RESPONSE
                - ZM_NS_ERROR
                - ZM_Z_FLAGS_NOTCLEAR
                type: string
              minItems: 1
              type: array
            dns-nameserver13:
              items:
                enum:
                - ZM_MISSING_OPT_IN_TRUNCATED
                - ZM_NO_EDNS_SUPPORT
                - ZM_NO_RESPONSE
                - ZM_NS_ERROR
                type: string
              minItems: 1
              type: array
            dns-syntax05:
              items:
                enum:
                - ZM_NO_RESPONSE_SOA_QUERY
                - ZM_RNAME_MISUSED_AT_SIGN
                type: string
              minItems: 1
              type: array
            dns-syntax06:
              items:
                enum:
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_SOA_QUERY
                - ZM_RNAME_MAIL_DOMAIN_INVALID
                - ZM_RNAME_MAIL_DOMAIN_LOCALHOST
                - ZM_RNAME_MAIL_ILLEGAL_CNAME
                - ZM_RNAME_RFC822_INVALID
                type: string
              minItems: 1
              type: array
            dns-syntax07:
              items:
                enum:
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-zone07:
              items:
                enum:
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-zone10:
              items:
                enum:
                - ZM_MULTIPLE_SOA
                - ZM_NO_RESPONSE
                - ZM_NO_SOA_IN_RESPONSE
                - ZM_WRONG_SOA
                type: string
              minItems: 1
              type: array
            dns-zz-consistency:
              items:
                enum:
                - DNS_CONSISTENCY_QUERY_FAILED
                - DNS_INCONSISTENT_RESPONSES
                type: string
              minItems: 1
              type: array
            dns-zz-idna2008-compliance:
              items:
                enum:
                - DNS_IDNA2008_INVALID_MNAME
                - DNS_IDNA2008_INVALID_NS_NSDNAME
                - DNS_IDNA2008_INVALID_RNAME
                type: string
              minItems: 1
              type: array
            dnssec-01:
              items:
                enum:
                - ZM_DS01_DS_ALGO_2_MISSING
                - ZM_DS01_DS_ALGO_DEPRECATED
                - ZM_DS01_DS_ALGO_NOT_DS
                - ZM_DS01_DS_ALGO_PRIVATE
                - ZM_DS01_DS_ALGO_RESERVED
                - ZM_DS01_DS_ALGO_UNASSIGNED
                - ZM_DS01_PARENT_SERVER_NO_DS
                type: string
              minItems: 1
              type: array
            dnssec-02:
              items:
                enum:
                - ZM_DS02_DNSKEY_NOT_FOR_ZONE_SIGNING
                - ZM_DS02_DNSKEY_NOT_SEP
                - ZM_DS02_DNSKEY_NOT_SIGNED_BY_ANY_DS
                - ZM_DS02_NO_DNSKEY_FOR_DS
                - ZM_DS02_NO_MATCHING_DNSKEY_RRSIG
                - ZM_DS02_NO_MATCH_DS_DNSKEY
                - ZM_DS02_NO_VALID_DNSKEY_FOR_ANY_DS
                - ZM_DS02_RRSIG_NOT_VALID_BY_DNSKEY
                type: string
              minItems: 1
              type: array
            dnssec-03:
              items:
                enum:
                - ZM_DS03_ERR_MULT_NSEC3
                - ZM_DS03_ILLEGAL_HASH_ALGO
                - ZM_DS03_ILLEGAL_ITERATION_VALUE
                - ZM_DS03_ILLEGAL_SALT_LENGTH
                - ZM_DS03_INCONSISTENT_HASH_ALGO
                - ZM_DS03_INCONSISTENT_ITERATION
                - ZM_DS03_INCONSISTENT_NSEC3_FLAGS
                - ZM_DS03_INCONSISTENT_SALT_LENGTH
                - ZM_DS03_SERVER_NO_DNSSEC_SUPPORT
                - ZM_DS03_SERVER_NO_NSEC3
                - ZM_DS03_UNASSIGNED_FLAG_USED
                type: string
              minItems: 1
              type: array
            dnssec-04:
              items:
                enum:
                - ZM_RRSIG_EXPIRED
                type: string
              minItems: 1
              type: array
            dnssec-05:
              items:
                enum:
                - ZM_DS05_ALGO_DEPRECATED
                - ZM_DS05_ALGO_NOT_ZONE_SIGN
                - ZM_DS05_ALGO_PRIVATE
                - ZM_DS05_ALGO_RESERVED
                - ZM_DS05_ALGO_UNASSIGNED
                type: string
              minItems: 1
              type: array
            dnssec-06:
              items:
                enum:
                - ZM_EXTRA_PROCESSING_BROKEN
                type: string
              minItems: 1
              type: array
            dnssec-08:
              items:
                enum:
                - ZM_DS08_DNSKEY_RRSIG_EXPIRED
                - ZM_DS08_DNSKEY_RRSIG_NOT_YET_VALID
                - ZM_DS08_MISSING_RRSIG_IN_RESPONSE
                - ZM_DS08_NO_MATCHING_DNSKEY
                - ZM_DS08_RRSIG_NOT_VALID_BY_DNSKEY
                type: string
              minItems: 1
              type: array
            dnssec-09:
              items:
                enum:
                - ZM_DS09_MISSING_RRSIG_IN_RESPONSE
                - ZM_DS09_NO_MATCHING_DNSKEY
                - ZM_DS09_RRSIG_NOT_VALID_BY_DNSKEY
                - ZM_DS09_SOA_RRSIG_EXPIRED
                - ZM_DS09_SOA_RRSIG_NOT_YET_VALID
                type: string
              minItems: 1
              type: array
            dnssec-10:
              items:
                enum:
                - ZM_DS10_ERR_MULT_NSEC
                - ZM_DS10_ERR_MULT_NSEC3
                - ZM_DS10_ERR_MULT_NSEC3PARAM
                - ZM_DS10_EXPECTED_NSEC_NSEC3_MISSING
                - ZM_DS10_INCONSISTENT_NSEC
                - ZM_DS10_INCONSISTENT_NSEC3
                - ZM_DS10_INCONSISTENT_NSEC_NSEC3
                - ZM_DS10_MIXED_NSEC_NSEC3
                - ZM_DS10_NSEC3PARAM_GIVES_ERR_ANSWER
                - ZM_DS10_NSEC3PARAM_MISMATCHES_APEX
                - ZM_DS10_NSEC3PARAM_QUERY_RESPONSE_ERR
                - ZM_DS10_NSEC3_ERR_TYPE_LIST
                - ZM_DS10_NSEC3_MISMATCHES_APEX
                - ZM_DS10_NSEC3_MISSING_SIGNATURE
                - ZM_DS10_NSEC3_NODATA_MISSING_SOA
                - ZM_DS10_NSEC3_NODATA_WRONG_SOA
                - ZM_DS10_NSEC3_NO_VERIFIED_SIGNATURE
                - ZM_DS10_NSEC3_RRSIG_EXPIRED
                - ZM_DS10_NSEC3_RRSIG_NOT_YET_VALID
                - ZM_DS10_NSEC3_RRSIG_VERIFY_ERROR
                - ZM_DS10_NSEC_ERR_TYPE_LIST
                - ZM_DS10_NSEC_GIVES_ERR_ANSWER
                - ZM_DS10_NSEC_MISMATCHES_APEX
                - ZM_DS10_NSEC_MISSING_SIGNATURE
                - ZM_DS10_NSEC_NODATA_MISSING_SOA
                - ZM_DS10_NSEC_NODATA_WRONG_SOA
                - ZM_DS10_NSEC_NO_VERIFIED_SIGNATURE
                - ZM_DS10_NSEC_QUERY_RESPONSE_ERR
                - ZM_DS10_NSEC_RRSIG_EXPIRED
                - ZM_DS10_NSEC_RRSIG_NOT_YET_VALID
                - ZM_DS10_NSEC_RRSIG_VERIFY_ERROR
                - ZM_DS10_SERVER_NO_DNSSEC
                type: string
              minItems: 1
              type: array
            dnssec-13:
              items:
                enum:
                - ZM_DS13_ALGO_NOT_SIGNED_DNSKEY
                - ZM_DS13_ALGO_NOT_SIGNED_NS
                - ZM_DS13_ALGO_NOT_SIGNED_SOA
                type: string
              minItems: 1
              type: array
            dnssec-14:
              items:
                enum:
                - ZM_DNSKEY_TOO_LARGE_FOR_ALGO
                - ZM_DNSKEY_TOO_SMALL_FOR_ALGO
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_DNSKEY
                type: string
              minItems: 1
              type: array
            dnssec-91:
              items:
                enum:
                - DNSSEC_DNS_QUERY_ERROR
                - DNSSEC_INVALID_SIGNING_ALGORITHM
                type: string
              minItems: 1
              type: array
            dnssec-92:
              items:
                enum:
                - DNSSEC_DNS_QUERY_ERROR
                - DNSSEC_INVALID_DIGEST_ALGORITHM
                type: string
              minItems: 1
              type: array
            dnssec-93:
              items:
                enum:
                - DNSSEC_DNS_QUERY_ERROR
                - DNSSEC_NSEC3_ITERATIONS_IS_NOT_ZERO
                - DNSSEC_NSEC3_SALT_IS_NOT_EMPTY
                type: string
              minItems: 1
              type: array
            dnssecOps01-ZSKRollover:
              items:
                enum:
                - DNSSEC_OPS_DNS_QUERY_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_INVALID_ALGORITHM
                - DNSSEC_OPS_XFR_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_ZONE_IS_INVALID
                - DNSSEC_OPS_ZSK_ROLLOVER_CHAIN_OF_TRUST_BROKEN
                - DNSSEC_OPS_ZSK_ROLLOVER_NOT_COMPLETED
                type: string
              minItems: 1
              type: array
            dnssecOps02-KSKRollover:
              items:
                enum:
                - DNSSEC_OPS_DNS_QUERY_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_INVALID_ALGORITHM
                - DNSSEC_OPS_KSK_ROLLOVER_CHAIN_OF_TRUST_BROKEN
                - DNSSEC_OPS_KSK_ROLLOVER_NOT_COMPLETED
                - DNSSEC_OPS_XFR_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_ZONE_IS_INVALID
                type: string
              minItems: 1
              type: array
            dnssecOps03-AlgorithmRollover:
              items:
                enum:
                - DNSSEC_OPS_ALGORITHM_ROLLOVER_CHAIN_OF_TRUST_BROKEN
                - DNSSEC_OPS_ALGORITHM_ROLLOVER_NOT_COMPLETED
                - DNSSEC_OPS_DNS_QUERY_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_INVALID_ALGORITHM
                - DNSSEC_OPS_XFR_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_ZONE_IS_INVALID
                type: string
              minItems: 1
              type: array
            epp-01:
              items:
                enum:
                - EPP_TLS_BAD_CIPHER
                - EPP_TLS_CERTIFICATE_CHAIN_MISSING
                - EPP_TLS_CERTIFICATE_HOSTNAME_MISMATCH
                - EPP_TLS_CONNECTION_ERROR
                - EPP_TLS_EXPIRED_CERTIFICATE
                - EPP_TLS_FORBIDDEN_PROTOCOL_SUPPORTED
                - EPP_TLS_REQUIRED_PROTOCOL_NOT_SUPPORTED
                - EPP_TLS_UNTRUSTED_CERTIFICATE
                type: string
              minItems: 1
              type: array
            epp-02:
              items:
                enum:
                - EPP_GREETING_DOES_NOT_MATCH
                - EPP_GREETING_INVALID_LANG
                - EPP_GREETING_MISSING_EN_LANG
                - EPP_GREETING_MISSING_EXTURI
                - EPP_GREETING_MISSING_OBJURI
                - EPP_GREETING_SVDATE_INVALID
                - EPP_GREETING_SVID_INVALID
                - EPP_GREETING_UNEXPECTED_EXTURI
                - EPP_GREETING_UNEXPECTED_OBJURI
                - EPP_GREETING_VERSION_INVALID
                - EPP_NO_GREETING_RECEIVED
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-03:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_LOGIN_UNEXPECTEDLY_FAILED
                - EPP_LOGIN_UNEXPECTEDLY_SUCCEEDED
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-04:
              items:
                enum:
                - EPP_DOMAIN_CHECK_INVALID_DOMAIN_INCORRECT_AVAIL
                - EPP_DOMAIN_CHECK_REGISTERED_DOMAIN_INCORRECT_AVAIL
                - EPP_DOMAIN_CHECK_VALID_DOMAIN_INCORRECT_AVAIL
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-05:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_CHECK_INVALID_HOST_INCORRECT_AVAIL
                - EPP_HOST_CHECK_REGISTERED_HOST_INCORRECT_AVAIL
                - EPP_HOST_CHECK_VALID_HOST_INCORRECT_AVAIL
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-06:
              items:
                enum:
                - EPP_CONTACT_CHECK_INVALID_CONTACT_ID_INCORRECT_AVAIL
                - EPP_CONTACT_CHECK_REGISTERED_CONTACT_ID_INCORRECT_AVAIL
                - EPP_CONTACT_CHECK_VALID_CONTACT_ID_INCORRECT_AVAIL
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-07:
              items:
                enum:
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CC
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CITY
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_EMAIL
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX_EXT
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ID
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_NAME
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ORG
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_PC
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_POSTALINFO_TYPE
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_SP
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STREET
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE_EXT
                - EPP_CONTACT_CREATE_INFO_RESPONSE_NOT_1000
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_CC
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_CITY
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_EMAIL
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_FAX
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_NAME
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_VOICE
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_CC
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_CITY
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_EMAIL
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_FAX
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_ID
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_NAME
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_ORG
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_POSTALINFO_TYPE
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_STREET
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_VOICE
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-08:
              items:
                enum:
                - EPP_CONTACT_INFO_RESPONSE_NOT_REJECTED
                - EPP_CONTACT_UPDATE_RESPONSE_NOT_REJECTED
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-09:
              items:
                enum:
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CC
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CITY
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_EMAIL
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX_EXT
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ID
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_NAME
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ORG
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_PC
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_POSTALINFO_TYPE
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_SP
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STATUS
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STREET
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE_EXT
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_NOT_1000
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_CC
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_CITY
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_NAME
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_CC
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_CITY
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_EMAIL
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_FAX
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_ORG
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_PC
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_POSTALINFO_TYPE
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_SP
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_STREET
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_VOICE
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_COMMAND_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-10:
              items:
                enum:
                - EPP_CONTACT_DELETE_OBJECT_STILL_EXISTS
                - EPP_CONTACT_DELETE_RESPONSE_NOT_1000_OR_1001
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-11:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_CREATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
                - EPP_HOST_CREATE_INFO_RESPONSE_OBJECT_DOES_NOT_EXIST
                - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_HOSTNAME
                - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_IPV4_ADDRESS
                - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_IPv6_ADDRESS
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_COMMAND_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-12:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_UPDATE_AUTHZ_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-13:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_UPDATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
                - EPP_HOST_UPDATE_INFO_RESPONSE_OBJECT_DOES_NOT_EXIST
                - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_IPV4_ADDRESS
                - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_IPv6_ADDRESS
                - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_COMMAND_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-14:
              items:
                enum:
                - EPP_DOMAIN_CREATE_INFO_RESPONSE_INVALID_ROID
                - EPP_DOMAIN_CREATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_AUTHINFO
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITHOUT_GLUE
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITH_INVALID_GLUE
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_DNSSEC_DATA
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_DOMAIN_NAME
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_HOST_OBJECT
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_PERIOD
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_MISSING_REGISTRANT
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NON_EXISTENT_HOST_OBJECT
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NON_EXISTENT_REGISTRANT
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NO_REGISTRANT_FOR_THICK_REGISTRY
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_REGISTRANT_FOR_THIN_REGISTRY
                - EPP_DOMAIN_CREATE_SERVER_INCORRECTLY_ACCEPTS_HOST_ATTRIBUTES
                - EPP_DOMAIN_CREATE_SERVER_INCORRECTLY_ACCEPTS_HOST_OBJECTS
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-15:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INTEGRITY_SERVER_ACCEPTS_DELETE_FOR_LINKED_CONTACT_OBJECT
                - EPP_INTEGRITY_SERVER_ACCEPTS_DELETE_FOR_LINKED_HOST_OBJECT
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-16:
              items:
                enum:
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_DNSSEC_DATA
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_HOST_ATTRIBUTE
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_HOST_OBJECT
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_REGISTRANT
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_STATUS_CODE
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_DNSSEC_DATA
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_HOST_ATTRIBUTE
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_HOST_OBJECT
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_REGISTRANT
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_STATUS_CODE
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITHOUT_GLUE
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_DNSSEC_DATA
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_HOST_ATTRIBUTES
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_NON_EXISTENT_CONTACT_OBJECT
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_NON_EXISTENT_HOST_OBJECT
                - EPP_DOMAIN_UPDATE_SERVER_INCORRECTLY_ACCEPTS_HOST_ATTRIBUTES
                - EPP_DOMAIN_UPDATE_SERVER_INCORRECTLY_ACCEPTS_HOST_OBJECTS
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_COMMAND_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-17:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_SERVICE_PORT_NOT_CONSISTENT
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-18:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_RENEW_INFO_RESPONSE_MISSING_OR_INVALID_RGP_STATUS
                - EPP_RENEW_INFO_RESPONSE_UNEXPECTED_EXPIRY_DATE
                - EPP_RENEW_SERVER_ACCEPTS_INVALID_CURRENT_EXPIRY_DATE
                - EPP_RENEW_SERVER_ACCEPTS_INVALID_PERIOD
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-19:
              items:
                enum:
                - EPP_DOMAIN_TRANSFER_REQUEST_FAILED
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_TRANSFER_INFO_RESPONSE_AUTHINFO_NOT_RESET
                - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_RGP_STATUS
                - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_STATUS_CODE
                - EPP_TRANSFER_INFO_RESPONSE_UNEXPECTED_EXPIRY_DATE
                - EPP_TRANSFER_NOT_PROCESSED
                - EPP_TRANSFER_SERVER_ACCEPTS_INCORRECT_AUTHINFO
                - EPP_TRANSFER_SERVER_ACCEPTS_INSECURE_AUTHINFO
                - EPP_TRANSFER_SERVER_ACCEPTS_INVALID_PERIOD
                - EPP_TRANSFER_SERVER_REJECTS_SECURE_AUTHINFO
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-20:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_STATUS_CODE
                - EPP_TRANSFER_SERVER_ACCEPTS_INCORRECT_AUTHINFO
                - EPP_TRANSFER_SERVER_PROCESSED_REJECTED_TRANSFER
                - EPP_TRANSFER_SERVER_REJECTS_SECURE_AUTHINFO
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-21:
              items:
                enum:
                - EPP_DOMAIN_DELETE_INFO_RESPONSE_OBJECT_NOT_PENDING_DELETE
                - EPP_DOMAIN_DELETE_INFO_RESPONSE_OBJECT_STILL_EXISTS
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-23:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_RENAME_OBJECT_NOT_RENAMED
                - EPP_HOST_RENAME_SERVER_ACCEPTS_INVALID_HOSTNAME
                - EPP_HOST_RENAME_SERVER_ACCEPTS_RENAME_TO_ANOTHER_REGISTRARS_DOMAIN
                - EPP_HOST_RENAME_SERVER_ACCEPTS_RENAME_TO_NONEXISTENT_DOMAIN
                - EPP_HOST_RENAME_SERVER_INCORRECTLY_ACCEPTS_RENAME
                - EPP_HOST_RENAME_SERVER_REJECTS_EXTERNAL_NAME
                - EPP_HOST_RENAME_SERVER_UNEXPECTEDLY_REJECTS_RENAME
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-24:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_DELETE_INFO_RESPONSE_OBJECT_STILL_EXISTS
                - EPP_HOST_DELETE_RESPONSE_NOT_1000_OR_1001
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-25:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_CREATE_INCORRECT_CLID
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_HOST_CREATE_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-26:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_SERVER_ACCEPTS_INTERNAL_HOST_WITH_GLUE
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-27:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_SERVER_ALLOWS_DELEGATION_TO_GLUELESS_HOST
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            idn-01:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_INVALID_IDN_EXTENSION
                - EPP_INVALID_IDN_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - IDN_SERVER_ACCEPTS_INVALID_LABEL
                - IDN_SERVER_REJECTS_VALID_LABEL
                - IDN_VARIANT_LABEL_NOT_BLOCKED
                - IDN_VARIANT_SERVER_ACCEPTS_VARIANT_CREATE_FROM_INCORRECT_REGISTRAR
                - IDN_VARIANT_SERVER_ACCEPTS_VARIANT_CREATE_WITH_INCORRECT_REGISTRANT
                - IDN_VARIANT_SERVER_REJECTS_VARIANT_CREATE_FROM_SAME_REGISTRAR
                - IDN_VARIANT_SERVER_REJECTS_VARIANT_CREATE_WITH_SAME_REGISTRANT
                type: string
              minItems: 1
              type: array
            idn-02:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - IDN_IDNONLY_TLD_ACCEPTS_ASCII_DOMAIN
                type: string
              minItems: 1
              type: array
            integration-01:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_DOMAIN_NOT_PRESENT_IN_RDAP
                type: string
              minItems: 1
              type: array
            integration-02:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_DOMAIN_NOT_PRESENT_IN_DNS
                type: string
              minItems: 1
              type: array
            integration-03:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_DOMAIN_NOT_PRESENT_IN_RDE
                type: string
              minItems: 1
              type: array
            integration-04:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_LINKED_HOST_OBJECTS_NOT_OBSERVED
                - INTEGRATION_UNLINKED_HOST_OBJECTS_OBSERVED
                type: string
              minItems: 1
              type: array
            integration-05:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_EXPECTED_GLUE_NOT_OBSERVED
                - INTEGRATION_UNEXPECTED_GLUE_OBSERVED
                type: string
              minItems: 1
              type: array
            minimumRPMs-01:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - RPMS_INVALID_CLAIMS_KEY
                - RPMS_MISSING_CLAIMS_KEY
                - RPMS_UNEXPECTED_CLAIMS_KEY
                type: string
              minItems: 1
              type: array
            minimumRPMs-02:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - RPMS_SUNRISE_CREATE_INFO_OBJECT_DOES_NOT_EXIST
                - RPMS_SUNRISE_CREATE_INFO_OBJECT_IS_HAS_MISSING_OR_INVALID_PROPERTIES
                - RPMS_SUNRISE_CREATE_UNEXPECTED_FAILURE_USING_VALID_SMD
                - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_INCORRECT_SMD
                - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_SMD
                - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_REVOKED_SMD
                - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_SMD_WITH_REVOKED_SIGNATURE
                type: string
              minItems: 1
              type: array
            minimumRPMs-03:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - RPMS_MISSING_CLAIMS_KEY
                - RPMS_TRADEMARK_CREATE_INFO_OBJECT_DOES_NOT_EXIST
                - RPMS_TRADEMARK_CREATE_INFO_OBJECT_IS_HAS_MISSING_OR_INVALID_PROPERTIES
                - RPMS_TRADEMARK_CREATE_UNEXPECTED_FAILURE_USING_VALID_NOTICE_ID
                - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_EXPIRED_NOTICE_ID
                - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_ACCEPTANCE_DATE
                - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_NOTICE_ID
                type: string
              minItems: 1
              type: array
            rdap-01:
              items:
                enum:
                - RDAP_DOMAIN_RESPONSE_VALIDATION_FAILED
                type: string
              minItems: 1
              type: array
            rdap-02:
              items:
                enum:
                - RDAP_NAMESERVER_RESPONSE_VALIDATION_FAILED
                type: string
              minItems: 1
              type: array
            rdap-03:
              items:
                enum:
                - RDAP_ENTITY_RESPONSE_VALIDATION_FAILED
                type: string
              minItems: 1
              type: array
            rdap-04:
              items:
                enum:
                - RDAP_HELP_RESPONSE_VALIDATION_FAILED
                type: string
              minItems: 1
              type: array
            rdap-05:
              items:
                enum:
                - RDAP_DOMAIN_HEAD_FAILED
                type: string
              minItems: 1
              type: array
            rdap-06:
              items:
                enum:
                - RDAP_NAMESERVER_HEAD_FAILED
                type: string
              minItems: 1
              type: array
            rdap-07:
              items:
                enum:
                - RDAP_ENTITY_HEAD_FAILED
                type: string
              minItems: 1
              type: array
            rdap-08:
              items:
                enum:
                - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_DOMAIN
                type: string
              minItems: 1
              type: array
            rdap-09:
              items:
                enum:
                - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_NAMESERVER
                type: string
              minItems: 1
              type: array
            rdap-10:
              items:
                enum:
                - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_ENTITY
                type: string
              minItems: 1
              type: array
            rdap-91:
              items:
                enum:
                - RDAP_TLS_BAD_CIPHER
                - RDAP_TLS_CERTIFICATE_CHAIN_MISSING
                - RDAP_TLS_CERTIFICATE_HOSTNAME_MISMATCH
                - RDAP_TLS_DNS_RESOLUTION_ERROR
                - RDAP_TLS_EXPIRED_CERTIFICATE
                - RDAP_TLS_FORBIDDEN_PROTOCOL_SUPPORTED
                - RDAP_TLS_REQUIRED_PROTOCOL_NOT_SUPPORTED
                - RDAP_TLS_SERVICE_PORT_UNREACHABLE
                - RDAP_TLS_UNTRUSTED_CERTIFICATE
                type: string
              minItems: 1
              type: array
            rdap-92:
              items:
                enum:
                - RDAP_QUERY_FAILED
                - RDAP_SERVICE_PORT_NOT_CONSISTENT
                - RDAP_TLS_DNS_RESOLUTION_ERROR
                - RDAP_TLS_SERVICE_PORT_UNREACHABLE
                type: string
              minItems: 1
              type: array
            rde-01:
              items:
                enum:
                - RDE_INVALID_FILENAME
                type: string
              minItems: 1
              type: array
            rde-02:
              items:
                enum:
                - RDE_INVALID_SIGNATURE
                type: string
              minItems: 1
              type: array
            rde-03:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            rde-04:
              items:
                enum:
                - RDE_INVALID_CSV
                - RDE_OBJECT_HAS_MIXED_TYPES
                type: string
              minItems: 1
              type: array
            rde-05:
              items:
                enum:
                - RDE_MENU_AND_HEADER_URIS_DIFFER
                - RDE_MISSING_OBJECT_URI
                - RDE_UNEXPECTED_OBJECT_URI
                type: string
              minItems: 1
              type: array
            rde-06:
              items:
                enum:
                - RDE_OBJECT_COUNT_MISMATCH
                - RDE_UNEXPECTED_OBJECT
                type: string
              minItems: 1
              type: array
            rde-07:
              items:
                enum:
                - RDE_DOMAIN_HAS_INVALID_ACRR
                - RDE_DOMAIN_HAS_INVALID_CLID
                - RDE_DOMAIN_HAS_INVALID_CRDATE
                - RDE_DOMAIN_HAS_INVALID_CRRR
                - RDE_DOMAIN_HAS_INVALID_EXDATE
                - RDE_DOMAIN_HAS_INVALID_NAME
                - RDE_DOMAIN_HAS_INVALID_REGISTRANT
                - RDE_DOMAIN_HAS_INVALID_RERR
                - RDE_DOMAIN_HAS_INVALID_ROID
                - RDE_DOMAIN_HAS_INVALID_STATUS
                - RDE_DOMAIN_HAS_INVALID_UPRR
                - RDE_DOMAIN_HAS_MISSING_CLID
                - RDE_DOMAIN_HAS_MISSING_CONTACT
                - RDE_DOMAIN_HAS_MISSING_CRDATE
                - RDE_DOMAIN_HAS_MISSING_EXDATE
                - RDE_DOMAIN_HAS_MISSING_NAMESERVER
                - RDE_DOMAIN_HAS_MISSING_REGISTRANT
                - RDE_DOMAIN_HAS_MISSING_ROID
                - RDE_DOMAIN_HAS_MISSING_STATUS
                - RDE_DOMAIN_HAS_NON_UNIQUE_NAME
                - RDE_DOMAIN_HAS_NON_UNIQUE_ROID
                - RDE_DOMAIN_HAS_UNEXPECTED_HOST_ATTRIBUTES
                - RDE_DOMAIN_HAS_UNEXPECTED_HOST_OBJECTS
                - RDE_DOMAIN_OBJECT_MISSING
                type: string
              minItems: 1
              type: array
            rde-08:
              items:
                enum:
                - RDE_HOST_HAS_INVALID_CLID
                - RDE_HOST_HAS_INVALID_IP_ADDRESS
                - RDE_HOST_HAS_INVALID_NAME
                - RDE_HOST_HAS_INVALID_ROID
                - RDE_HOST_HAS_INVALID_STATUS
                - RDE_HOST_HAS_MISSING_CLID
                - RDE_HOST_HAS_MISSING_IP_ADDRESS
                - RDE_HOST_HAS_MISSING_ROID
                - RDE_HOST_HAS_MISSING_STATUS
                - RDE_HOST_HAS_NON_UNIQUE_NAME
                - RDE_HOST_HAS_NON_UNIQUE_ROID
                - RDE_HOST_OBJECT_MISSING
                type: string
              minItems: 1
              type: array
            rde-09:
              items:
                enum:
                - RDE_CONTACT_HAS_INVALID_CC
                - RDE_CONTACT_HAS_INVALID_EMAIL
                - RDE_CONTACT_HAS_INVALID_ROID
                - RDE_CONTACT_HAS_MULTIPLE_POSTALINFO_TYPES
                - RDE_CONTACT_HAS_NON_UNIQUE_ID
                - RDE_CONTACT_HAS_NON_UNIQUE_ROID
                - RDE_CONTACT_HAS_UNKNOWN_ACRR
                - RDE_CONTACT_HAS_UNKNOWN_CLID
                - RDE_CONTACT_HAS_UNKNOWN_CRRR
                - RDE_CONTACT_HAS_UNKNOWN_RERR
                - RDE_CONTACT_HAS_UNKNOWN_UPRR
                - RDE_CONTACT_OBJECT_MISSING
                type: string
              minItems: 1
              type: array
            rde-10:
              items:
                enum:
                - RDE_REGISTRAR_HAS_INVALID_GURID
                - RDE_REGISTRAR_HAS_INVALID_ID
                - RDE_REGISTRAR_HAS_INVALID_NAME
                - RDE_REGISTRAR_HAS_MISSING_GURID
                - RDE_REGISTRAR_HAS_MISSING_ID
                - RDE_REGISTRAR_HAS_MISSING_NAME
                - RDE_REGISTRAR_OBJECT_MISSING
                type: string
              minItems: 1
              type: array
            rde-11:
              items:
                enum:
                - RDE_IDN_OBJECT_INVALID
                - RDE_IDN_OBJECT_MISSING
                - RDE_IDN_OBJECT_UNEXPECTED
                type: string
              minItems: 1
              type: array
            rde-12:
              items:
                enum:
                - RDE_NNDN_CONFLICTS_WITH_DOMAIN
                type: string
              minItems: 1
              type: array
            rde-13:
              items:
                enum:
                - RDE_GREETING_DOES_NOT_MATCH
                - RDE_MISSING_EPP_PARAMS_OBJECT
                type: string
              minItems: 1
              type: array
            rde-14:
              items:
                enum:
                - RDE_POLICY_OBJECT_INVALID
                - RDE_POLICY_OBJECT_MISSING
                - RDE_POLICY_OBJECT_MISSING_OBJECTS
                type: string
              minItems: 1
              type: array
            srsgw-01:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            srsgw-02:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_INVALID_EXTENSION
                - SRSGW_HOST_CREATE_FAILED
                - SRSGW_HOST_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
                - SRSGW_HOST_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
                type: string
              minItems: 1
              type: array
            srsgw-03:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_CONTACT_CREATE_FAILED
                - SRSGW_CONTACT_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
                - SRSGW_CONTACT_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-04:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_DOMAIN_CREATE_FAILED
                - SRSGW_DOMAIN_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
                - SRSGW_DOMAIN_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-05:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_DOMAIN_RENEW_FAILED
                - SRSGW_DOMAIN_RENEW_INCORRECT_EXPIRY_DATE
                - SRSGW_DOMAIN_RENEW_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-06:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_DOMAIN_TRANSFER_APPROVAL_FAILED
                - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_HAS_INCORRECT_CLID
                - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
                - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_STILL_PENDING_TRANSFER
                - SRSGW_DOMAIN_TRANSFER_REQUEST_FAILED
                - SRSGW_DOMAIN_TRANSFER_REQUEST_OBJECT_NOT_PENDING_TRANSFER
                - SRSGW_DOMAIN_TRANSFER_REQUEST_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-08:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_DOMAIN_DELETE_DOMAIN_NOT_PENDINGDELETE
                - SRSGW_DOMAIN_DELETE_FAILED
                - SRSGW_DOMAIN_DELETE_RGP_STATUS_NOT_REDEMPTIONPERIOD
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-09:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_HOST_UPDATE_FAILED
                - SRSGW_EPP_HOST_UPDATE_INFO_RESPONSES_DIFFER
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-10:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_HOST_DELETE_FAILED
                - SRSGW_EPP_HOST_DELETE_OBJECT_STILL_EXISTS
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-11:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_CONTACT_UPDATE_FAILED
                - SRSGW_EPP_CONTACT_UPDATE_INFO_RESPONSES_DIFFER
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-12:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_CONTACT_DELETE_FAILED
                - SRSGW_EPP_CONTACT_DELETE_OBJECT_STILL_EXISTS
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-13:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_INVALID_EXTENSION
                - SRSGW_RDAP_DNS_RESOLUTION_ERROR
                - SRSGW_RDAP_QUERY_FAILED
                - SRSGW_RDAP_RESPONSES_DIFFER
                - SRSGW_RDAP_SERVICE_PORT_UNREACHABLE
                - SRSGW_RDAP_TLS_CONNECTION_ERROR
                type: string
              minItems: 1
              type: array
            srsgw-14:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_INVALID_EXTENSION
                - SRSGW_RDAP_DNS_RESOLUTION_ERROR
                - SRSGW_RDAP_QUERY_FAILED
                - SRSGW_RDAP_RESPONSES_DIFFER
                - SRSGW_RDAP_SERVICE_PORT_UNREACHABLE
                - SRSGW_RDAP_TLS_CONNECTION_ERROR
                type: string
              minItems: 1
              type: array
            srsgw-15:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_INVALID_EXTENSION
                - SRSGW_RDAP_DNS_RESOLUTION_ERROR
                - SRSGW_RDAP_QUERY_FAILED
                - SRSGW_RDAP_RESPONSES_DIFFER
                - SRSGW_RDAP_SERVICE_PORT_UNREACHABLE
                - SRSGW_RDAP_TLS_CONNECTION_ERROR
                type: string
              minItems: 1
              type: array
          example:
            "epp-02":
              - EPP_GREETING_UNEXPECTED_EXTURI

    testStatus:
      description: |
        A string indicating the status of a test request object.

        1. The `inputs-needed` value indicates that the request has been
           received, but one or more input parameters are needed before a test
           run can begin. The `missingInputs` property of the test indicates
           which input parameters are missing.
        2. The `files-needed` value indicates that the request has been
           received, but one or more files are needed before the a test run can
           begin. The `missingFiles` property of the test indicates which files
           are missing.
        3. The `inputs-complete` value indicates that all the required
           input parameters and files have been provided. The test is therefore
           ready to start. It is still possible to update input parameters if
           the test has this status.
        4. The `in-progress` value indicates that a test run is in progress.
        5. The `completed` value indicates that the test run has completed. If
           a test object has this status, then its `result` property will
           indicate the outcome of the test.
        6. The `expired` value indicates that the test did not have a status
           of `completed` when the `dueDate` was reached.

        * [State diagram](etc/test-object-state-machine.svg)
      type: string
      enum:
        - inputs-needed
        - files-needed
        - inputs-complete
        - in-progress
        - completed
        - expired

    testResult:
      description: |
        A string indicating the result of a test run.

        1. If no test run has been requested for a test object, this property
           will be `not-started`.
        2. The `in-progress` value indicates that the test run has not yet
           finished.
        3. The `pass` value indicates that the test run completed with no
           errors.
        4. The `fail` value indicates that at least one test case failed.
        5. The `exception` value indicates that an internal issue prevented
           the test run from completing.
        6. The `cancelled` value indicates that the test was cancelled by an
           administrator.
      type: string
      enum:
        - not-started
        - in-progress
        - pass
        - fail
        - exception
        - cancelled

    idnTableRef:
      description: |
        An `idnTableRef` object provides a reference to an IDN table object. IDN
        table objects must be created prior to being referenced in a test
        request.
      type: object
      required:
        - id
        - variantPolicy
      properties:
        id:
          description: The unique ID of the table.
          type: string
          example: c76e47a4-b1c5-40a8-94ae-30f0f60f7ec4
        variantPolicy:
          $ref: "#/components/schemas/variantPolicy"

    tldInfo:
      description: |
        A top-level domain (or equivalent registry-class domain name) and its
        associated IDN tables.
      type: object
      required:
        - name
        - idnTables
      properties:
        name:
          description: The TLD (or equivalent registry-class domain name).
          type: string
          format: hostname
          example: example
        idnTables:
          description: The IDN tables(s) for the TLD.
          type: array
          minItems: 0
          items:
            $ref: "#/components/schemas/idnTableRef"
        idnOnly:
          description: |
            A boolean vaue that indicates whether only IDN domains may be
            registered under this TLD. If the value is `false` then domains that
            only use the ASCII range are also permitted.
          type: boolean
          default: false

    testRequestSearchResult:
      description: |
        An abbreviated representation of a test object that is included in
        search result.
      type: object
      required:
        - testID
        - testPlan
        - dateRequested
        - status
        - result
        - tlds
        - href
      properties:
        testID:
          description: The unique ID for this test request object.
          type: string
          example: 3aebd167-c275-45b6-842a-2680ed80422b
        testPlan:
          $ref: "#/components/schemas/testPlan"
        rsp:
          description: The RSP's unique ID.
          type: string
          example: RSPI2404-M51
        dateRequested:
          description: date/time when this request was submitted.
          type: string
          format: date-time
        dateStarted:
          description: date/time when the test run (if any) started.
          type: string
          format: date-time
        dateCompleted:
          description: date/time when the test run (if any) completed.
          type: string
          format: date-time
        status:
          $ref: "#/components/schemas/testStatus"
        result:
          $ref: "#/components/schemas/testResult"
        href:
          description: The URL for this test request object.
          type: string
          format: url
          x-constraints: "@ValidUrl"
          example: /v1/test/3aebd167-c275-45b6-842a-2680ed80422b
        tlds:
          description: A flat list of the TLD(s) for this test.
          type: array
          minItems: 1
          items:
            type: string
            format: hostname
            example: example

    testRequestSubmitted:
      description: |
        This type describes a test request object that has been successfully
        submitted. It inherits all the properties defined in the
        `testRequest` type.
      type: object
      required:
        - tlds
        - rsp
        - createdBy
        - clientIDs
        - testPlan
        - testPlanVersion
        - dateRequested
        - status
        - result
        - inputs
      properties:
        applicationID:
          description: |
            For RSP evaluation, the application ID, otherwise it should be
            omitted. In OT&E, this **MUST** be omitted when creating a new test
            request.
          type: string
          example: a6e91182-5c63-415c-87dd-2d0902578cd5
        
        rsp:
          description: |
            The RSP's unique ID.
        
            In OT&E, this **MUST** contain the Fully-Qualified Domain Name where a TLSA
            record that validates the client certificate is published.
          type: string
          example: RSPI2404-M51
        
        tlds:
          description: |
            This structure describes the TLDs to which the test relates. It is
            an array which contains an array of logically grouped TLDs (such as
            those with a variant relationship).
        
            Simple example of an ASCII TLD with no IDN tables:
            ```
            {
              "tlds": [
                [
                  {
                    "name": "example",
                    "idnTables": []
                  }
                ]
              ]
            }
            ```
        
            In RSP testing, this property will only contain a single TLD, but more
            complex sets of TLDs with variants are supported for pre-delegation testing.
        
            Example of an ASCII TLD with one or more IDN tables:
            ```
            {
              "tlds": [
                [
                  {
                    "name": "example",
                    "idnTables": [
                      {
                        "id": "06e6ab5b-0e7a-4ff2-8e67-d6320e5ef4b7",
                        "variantPolicy": "novar"
                      },
                      {
                        "id": "25eb306b-1fb0-4def-bf01-fa18815f614b",
                        "variantPolicy": "novar"
                      }
                    ]
                  }
                ]
              ]
            }
            ```
        
            Example of a set of variant TLDs:
            ```
            {
              "tlds": [
                [
                  {
                    "name": "xn--8pvxs",
                    "idnTables": [
                      {
                        "id": "06e6ab5b-0e7a-4ff2-8e67-d6320e5ef4b7",
                        "variantPolicy": "mayallocatevar"
                      }
                    ]
                  },
                  {
                    "name": "xn--8pvz8d",
                    "idnTables": [
                      {
                        "id": "3f60939b-b7bf-46db-9004-126bf08923af",
                        "variantPolicy": "mayallocatevar"
                      }
                    ]
                  }
                ]
              ]
            }
            ```
        
            All the IDN tables referenced in this property **MUST** already
            exist when the test object is created.
        
            If a TLD offers registrations at the third or higher levels, then at
            least one second-level "registry-class" domain name(s) should be
            separately listed, rather than the TLD itself.
          type: array
          minItems: 1
          items:
            type: array
            minItems: 1
            items:
              $ref: "#/components/schemas/tldInfo"
        
        clientIDs:
          description: |
            An array of FQDNs at which one or more `TLSA` records may be found
            which can be used for authentication.
        
            In OT&E, this **MUST** contain the Fully-Qualified Domain Name where a TLSA
            record that validates the client certificate is published, and **MAY**
            contain other IDs.
          type: array
          minItems: 1
          items:
            type: string
            format: hostname
            example: tlsa.rsp.tech
        
        testPlan:
          $ref: "#/components/schemas/testPlan"
        
        dueDate:
          description: |
            The date/time before which the test must be passed. If not provided, the
            test remains open indefinitely (unless the `completed` status is reached).
        
            In OT&E, this **MUST** be omitted when creating a new test request.
          type: string
          format: date-time
        
        skipTestCases:
          description: |
            A list of test cases to be skipped (if the specified test plan includes
            them).
          type: array
          minItems: 1
          items:
            type: string
            enum:
              - dns-address01
              - dns-address02
              - dns-address03
              - dns-connectivity01
              - dns-connectivity02
              - dns-connectivity03
              - dns-consistency02
              - dns-consistency03
              - dns-consistency04
              - dns-consistency05
              - dns-consistency06
              - dns-delegation01
              - dns-delegation02
              - dns-delegation03
              - dns-delegation04
              - dns-delegation05
              - dns-delegation07
              - dns-nameserver01
              - dns-nameserver02
              - dns-nameserver04
              - dns-nameserver05
              - dns-nameserver06
              - dns-nameserver08
              - dns-nameserver09
              - dns-nameserver10
              - dns-nameserver11
              - dns-nameserver12
              - dns-nameserver13
              - dns-syntax05
              - dns-syntax06
              - dns-syntax07
              - dns-zone07
              - dns-zone10
              - dns-zz-consistency
              - dns-zz-idna2008-compliance
              - dnssec-01
              - dnssec-02
              - dnssec-03
              - dnssec-04
              - dnssec-05
              - dnssec-06
              - dnssec-08
              - dnssec-09
              - dnssec-10
              - dnssec-13
              - dnssec-14
              - dnssec-91
              - dnssec-92
              - dnssec-93
              - dnssecOps01-ZSKRollover
              - dnssecOps02-KSKRollover
              - dnssecOps03-AlgorithmRollover
              - epp-01
              - epp-02
              - epp-03
              - epp-04
              - epp-05
              - epp-06
              - epp-07
              - epp-08
              - epp-09
              - epp-10
              - epp-11
              - epp-12
              - epp-13
              - epp-14
              - epp-15
              - epp-16
              - epp-17
              - epp-18
              - epp-19
              - epp-20
              - epp-21
              - epp-23
              - epp-24
              - epp-25
              - epp-26
              - epp-27
              - idn-01
              - idn-02
              - integration-01
              - integration-02
              - integration-03
              - integration-04
              - integration-05
              - minimumRPMs-01
              - minimumRPMs-02
              - minimumRPMs-03
              - rdap-01
              - rdap-02
              - rdap-03
              - rdap-04
              - rdap-05
              - rdap-06
              - rdap-07
              - rdap-08
              - rdap-09
              - rdap-10
              - rdap-91
              - rdap-92
              - rde-01
              - rde-02
              - rde-03
              - rde-04
              - rde-05
              - rde-06
              - rde-07
              - rde-08
              - rde-09
              - rde-10
              - rde-11
              - rde-12
              - rde-13
              - rde-14
              - srsgw-01
              - srsgw-02
              - srsgw-03
              - srsgw-04
              - srsgw-05
              - srsgw-06
              - srsgw-08
              - srsgw-09
              - srsgw-10
              - srsgw-11
              - srsgw-12
              - srsgw-13
              - srsgw-14
              - srsgw-15
          example:
            - epp-99
        
        ignoreErrorCodes:
          description: |
            A mapping of test cases to error codes to be downgraded from `ERROR` to
            `WARNING`, if that error code is generated by the specified test case. Only
            codes of severity `ERROR` can be downgraded.
          type: object
          additionalProperties: false
          properties:
            dns-address01:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-address02:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-address03:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-connectivity01:
              items:
                enum:
                - ZM_CN01_MISSING_NS_RECORD_UDP
                - ZM_CN01_MISSING_SOA_RECORD_UDP
                - ZM_CN01_NO_RESPONSE_NS_QUERY_UDP
                - ZM_CN01_NO_RESPONSE_SOA_QUERY_UDP
                - ZM_CN01_NO_RESPONSE_UDP
                - ZM_CN01_NS_RECORD_NOT_AA_UDP
                - ZM_CN01_SOA_RECORD_NOT_AA_UDP
                - ZM_CN01_UNEXPECTED_RCODE_NS_QUERY_UDP
                - ZM_CN01_UNEXPECTED_RCODE_SOA_QUERY_UDP
                - ZM_CN01_WRONG_NS_RECORD_UDP
                - ZM_CN01_WRONG_SOA_RECORD_UDP
                type: string
              minItems: 1
              type: array
            dns-connectivity02:
              items:
                enum:
                - ZM_CN02_MISSING_NS_RECORD_TCP
                - ZM_CN02_MISSING_SOA_RECORD_TCP
                - ZM_CN02_NO_RESPONSE_NS_QUERY_TCP
                - ZM_CN02_NO_RESPONSE_SOA_QUERY_TCP
                - ZM_CN02_NO_RESPONSE_TCP
                - ZM_CN02_NS_RECORD_NOT_AA_TCP
                - ZM_CN02_SOA_RECORD_NOT_AA_TCP
                - ZM_CN02_UNEXPECTED_RCODE_NS_QUERY_TCP
                - ZM_CN02_UNEXPECTED_RCODE_SOA_QUERY_TCP
                - ZM_CN02_WRONG_NS_RECORD_TCP
                - ZM_CN02_WRONG_SOA_RECORD_TCP
                type: string
              minItems: 1
              type: array
            dns-connectivity03:
              items:
                enum:
                - ZM_IPV4_ONE_ASN
                - ZM_IPV6_ONE_ASN
                type: string
              minItems: 1
              type: array
            dns-consistency02:
              items:
                enum:
                - ZM_MULTIPLE_SOA_RNAMES
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-consistency03:
              items:
                enum:
                - ZM_MULTIPLE_SOA_TIME_PARAMETER_SET
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-consistency04:
              items:
                enum:
                - ZM_MULTIPLE_NS_SET
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_NS_QUERY
                type: string
              minItems: 1
              type: array
            dns-consistency05:
              items:
                enum:
                - ZM_CHILD_NS_FAILED
                - ZM_CHILD_ZONE_LAME
                - ZM_EXTRA_ADDRESS_CHILD
                - ZM_IN_BAILIWICK_ADDR_MISMATCH
                - ZM_NO_RESPONSE
                - ZM_OUT_OF_BAILIWICK_ADDR_MISMATCH
                type: string
              minItems: 1
              type: array
            dns-consistency06:
              items:
                enum:
                - ZM_MULTIPLE_SOA_MNAMES
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-delegation01:
              items:
                enum:
                - ZM_NOT_ENOUGH_IPV4_NS_CHILD
                - ZM_NOT_ENOUGH_IPV4_NS_DEL
                - ZM_NOT_ENOUGH_IPV6_NS_CHILD
                - ZM_NOT_ENOUGH_IPV6_NS_DEL
                - ZM_NOT_ENOUGH_NS_CHILD
                - ZM_NOT_ENOUGH_NS_DEL
                - ZM_NO_IPV4_NS_CHILD
                - ZM_NO_IPV4_NS_DEL
                - ZM_NO_IPV6_NS_CHILD
                - ZM_NO_IPV6_NS_DEL
                type: string
              minItems: 1
              type: array
            dns-delegation02:
              items:
                enum:
                - ZM_CHILD_NS_SAME_IP
                - ZM_DEL_NS_SAME_IP
                - ZM_SAME_IP_ADDRESS
                type: string
              minItems: 1
              type: array
            dns-delegation03:
              items:
                enum:
                - ZM_REFERRAL_SIZE_TOO_LARGE
                type: string
              minItems: 1
              type: array
            dns-delegation04:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-delegation05:
              items:
                enum:
                - ZM_NO_RESPONSE
                - ZM_NS_IS_CNAME
                type: string
              minItems: 1
              type: array
            dns-delegation07:
              items:
                enum:
                - ZM_EXTRA_NAME_PARENT
                - ZM_TOTAL_NAME_MISMATCH
                type: string
              minItems: 1
              type: array
            dns-nameserver01:
              items:
                enum:
                - ZM_IS_A_RECURSOR
                - ZM_NO_RESPONSE
                type: string
              minItems: 1
              type: array
            dns-nameserver02:
              items:
                enum:
                - ZM_BREAKS_ON_EDNS
                - ZM_EDNS_RESPONSE_WITHOUT_EDNS
                - ZM_EDNS_VERSION_ERROR
                - ZM_NO_EDNS_SUPPORT
                - ZM_NO_RESPONSE
                - ZM_NS_ERROR
                type: string
              minItems: 1
              type: array
            dns-nameserver04:
              items:
                enum:
                - ZM_DIFFERENT_SOURCE_IP
                type: string
              minItems: 1
              type: array
            dns-nameserver05:
              items:
                enum:
                - ZM_AAAA_BAD_RDATA
                - ZM_AAAA_QUERY_DROPPED
                - ZM_AAAA_UNEXPECTED_RCODE
                - ZM_A_UNEXPECTED_RCODE
                - ZM_NO_RESPONSE
                type: string
              minItems: 1
              type: array
            dns-nameserver06:
              items:
                enum:
                - ZM_CAN_NOT_BE_RESOLVED
                - ZM_NO_RESOLUTION
                type: string
              minItems: 1
              type: array
            dns-nameserver08:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            dns-nameserver09:
              items:
                enum:
                - ZM_CASE_QUERIES_RESULTS_DIFFER
                type: string
              minItems: 1
              type: array
            dns-nameserver10:
              items:
                enum:
                - ZM_N10_EDNS_RESPONSE_ERROR
                - ZM_N10_NO_RESPONSE_EDNS1_QUERY
                - ZM_N10_UNEXPECTED_RCODE
                type: string
              minItems: 1
              type: array
            dns-nameserver11:
              items:
                enum:
                - ZM_N11_NO_EDNS
                - ZM_N11_NO_RESPONSE
                - ZM_N11_RETURNS_UNKNOWN_OPTION_CODE
                - ZM_N11_UNEXPECTED_ANSWER_SECTION
                - ZM_N11_UNEXPECTED_RCODE
                - ZM_N11_UNSET_AA
                type: string
              minItems: 1
              type: array
            dns-nameserver12:
              items:
                enum:
                - ZM_NO_EDNS_SUPPORT
                - ZM_NO_RESPONSE
                - ZM_NS_ERROR
                - ZM_Z_FLAGS_NOTCLEAR
                type: string
              minItems: 1
              type: array
            dns-nameserver13:
              items:
                enum:
                - ZM_MISSING_OPT_IN_TRUNCATED
                - ZM_NO_EDNS_SUPPORT
                - ZM_NO_RESPONSE
                - ZM_NS_ERROR
                type: string
              minItems: 1
              type: array
            dns-syntax05:
              items:
                enum:
                - ZM_NO_RESPONSE_SOA_QUERY
                - ZM_RNAME_MISUSED_AT_SIGN
                type: string
              minItems: 1
              type: array
            dns-syntax06:
              items:
                enum:
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_SOA_QUERY
                - ZM_RNAME_MAIL_DOMAIN_INVALID
                - ZM_RNAME_MAIL_DOMAIN_LOCALHOST
                - ZM_RNAME_MAIL_ILLEGAL_CNAME
                - ZM_RNAME_RFC822_INVALID
                type: string
              minItems: 1
              type: array
            dns-syntax07:
              items:
                enum:
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-zone07:
              items:
                enum:
                - ZM_NO_RESPONSE_SOA_QUERY
                type: string
              minItems: 1
              type: array
            dns-zone10:
              items:
                enum:
                - ZM_MULTIPLE_SOA
                - ZM_NO_RESPONSE
                - ZM_NO_SOA_IN_RESPONSE
                - ZM_WRONG_SOA
                type: string
              minItems: 1
              type: array
            dns-zz-consistency:
              items:
                enum:
                - DNS_CONSISTENCY_QUERY_FAILED
                - DNS_INCONSISTENT_RESPONSES
                type: string
              minItems: 1
              type: array
            dns-zz-idna2008-compliance:
              items:
                enum:
                - DNS_IDNA2008_INVALID_MNAME
                - DNS_IDNA2008_INVALID_NS_NSDNAME
                - DNS_IDNA2008_INVALID_RNAME
                type: string
              minItems: 1
              type: array
            dnssec-01:
              items:
                enum:
                - ZM_DS01_DS_ALGO_2_MISSING
                - ZM_DS01_DS_ALGO_DEPRECATED
                - ZM_DS01_DS_ALGO_NOT_DS
                - ZM_DS01_DS_ALGO_PRIVATE
                - ZM_DS01_DS_ALGO_RESERVED
                - ZM_DS01_DS_ALGO_UNASSIGNED
                - ZM_DS01_PARENT_SERVER_NO_DS
                type: string
              minItems: 1
              type: array
            dnssec-02:
              items:
                enum:
                - ZM_DS02_DNSKEY_NOT_FOR_ZONE_SIGNING
                - ZM_DS02_DNSKEY_NOT_SEP
                - ZM_DS02_DNSKEY_NOT_SIGNED_BY_ANY_DS
                - ZM_DS02_NO_DNSKEY_FOR_DS
                - ZM_DS02_NO_MATCHING_DNSKEY_RRSIG
                - ZM_DS02_NO_MATCH_DS_DNSKEY
                - ZM_DS02_NO_VALID_DNSKEY_FOR_ANY_DS
                - ZM_DS02_RRSIG_NOT_VALID_BY_DNSKEY
                type: string
              minItems: 1
              type: array
            dnssec-03:
              items:
                enum:
                - ZM_DS03_ERR_MULT_NSEC3
                - ZM_DS03_ILLEGAL_HASH_ALGO
                - ZM_DS03_ILLEGAL_ITERATION_VALUE
                - ZM_DS03_ILLEGAL_SALT_LENGTH
                - ZM_DS03_INCONSISTENT_HASH_ALGO
                - ZM_DS03_INCONSISTENT_ITERATION
                - ZM_DS03_INCONSISTENT_NSEC3_FLAGS
                - ZM_DS03_INCONSISTENT_SALT_LENGTH
                - ZM_DS03_SERVER_NO_DNSSEC_SUPPORT
                - ZM_DS03_SERVER_NO_NSEC3
                - ZM_DS03_UNASSIGNED_FLAG_USED
                type: string
              minItems: 1
              type: array
            dnssec-04:
              items:
                enum:
                - ZM_RRSIG_EXPIRED
                type: string
              minItems: 1
              type: array
            dnssec-05:
              items:
                enum:
                - ZM_DS05_ALGO_DEPRECATED
                - ZM_DS05_ALGO_NOT_ZONE_SIGN
                - ZM_DS05_ALGO_PRIVATE
                - ZM_DS05_ALGO_RESERVED
                - ZM_DS05_ALGO_UNASSIGNED
                type: string
              minItems: 1
              type: array
            dnssec-06:
              items:
                enum:
                - ZM_EXTRA_PROCESSING_BROKEN
                type: string
              minItems: 1
              type: array
            dnssec-08:
              items:
                enum:
                - ZM_DS08_DNSKEY_RRSIG_EXPIRED
                - ZM_DS08_DNSKEY_RRSIG_NOT_YET_VALID
                - ZM_DS08_MISSING_RRSIG_IN_RESPONSE
                - ZM_DS08_NO_MATCHING_DNSKEY
                - ZM_DS08_RRSIG_NOT_VALID_BY_DNSKEY
                type: string
              minItems: 1
              type: array
            dnssec-09:
              items:
                enum:
                - ZM_DS09_MISSING_RRSIG_IN_RESPONSE
                - ZM_DS09_NO_MATCHING_DNSKEY
                - ZM_DS09_RRSIG_NOT_VALID_BY_DNSKEY
                - ZM_DS09_SOA_RRSIG_EXPIRED
                - ZM_DS09_SOA_RRSIG_NOT_YET_VALID
                type: string
              minItems: 1
              type: array
            dnssec-10:
              items:
                enum:
                - ZM_DS10_ERR_MULT_NSEC
                - ZM_DS10_ERR_MULT_NSEC3
                - ZM_DS10_ERR_MULT_NSEC3PARAM
                - ZM_DS10_EXPECTED_NSEC_NSEC3_MISSING
                - ZM_DS10_INCONSISTENT_NSEC
                - ZM_DS10_INCONSISTENT_NSEC3
                - ZM_DS10_INCONSISTENT_NSEC_NSEC3
                - ZM_DS10_MIXED_NSEC_NSEC3
                - ZM_DS10_NSEC3PARAM_GIVES_ERR_ANSWER
                - ZM_DS10_NSEC3PARAM_MISMATCHES_APEX
                - ZM_DS10_NSEC3PARAM_QUERY_RESPONSE_ERR
                - ZM_DS10_NSEC3_ERR_TYPE_LIST
                - ZM_DS10_NSEC3_MISMATCHES_APEX
                - ZM_DS10_NSEC3_MISSING_SIGNATURE
                - ZM_DS10_NSEC3_NODATA_MISSING_SOA
                - ZM_DS10_NSEC3_NODATA_WRONG_SOA
                - ZM_DS10_NSEC3_NO_VERIFIED_SIGNATURE
                - ZM_DS10_NSEC3_RRSIG_EXPIRED
                - ZM_DS10_NSEC3_RRSIG_NOT_YET_VALID
                - ZM_DS10_NSEC3_RRSIG_VERIFY_ERROR
                - ZM_DS10_NSEC_ERR_TYPE_LIST
                - ZM_DS10_NSEC_GIVES_ERR_ANSWER
                - ZM_DS10_NSEC_MISMATCHES_APEX
                - ZM_DS10_NSEC_MISSING_SIGNATURE
                - ZM_DS10_NSEC_NODATA_MISSING_SOA
                - ZM_DS10_NSEC_NODATA_WRONG_SOA
                - ZM_DS10_NSEC_NO_VERIFIED_SIGNATURE
                - ZM_DS10_NSEC_QUERY_RESPONSE_ERR
                - ZM_DS10_NSEC_RRSIG_EXPIRED
                - ZM_DS10_NSEC_RRSIG_NOT_YET_VALID
                - ZM_DS10_NSEC_RRSIG_VERIFY_ERROR
                - ZM_DS10_SERVER_NO_DNSSEC
                type: string
              minItems: 1
              type: array
            dnssec-13:
              items:
                enum:
                - ZM_DS13_ALGO_NOT_SIGNED_DNSKEY
                - ZM_DS13_ALGO_NOT_SIGNED_NS
                - ZM_DS13_ALGO_NOT_SIGNED_SOA
                type: string
              minItems: 1
              type: array
            dnssec-14:
              items:
                enum:
                - ZM_DNSKEY_TOO_LARGE_FOR_ALGO
                - ZM_DNSKEY_TOO_SMALL_FOR_ALGO
                - ZM_NO_RESPONSE
                - ZM_NO_RESPONSE_DNSKEY
                type: string
              minItems: 1
              type: array
            dnssec-91:
              items:
                enum:
                - DNSSEC_DNS_QUERY_ERROR
                - DNSSEC_INVALID_SIGNING_ALGORITHM
                type: string
              minItems: 1
              type: array
            dnssec-92:
              items:
                enum:
                - DNSSEC_DNS_QUERY_ERROR
                - DNSSEC_INVALID_DIGEST_ALGORITHM
                type: string
              minItems: 1
              type: array
            dnssec-93:
              items:
                enum:
                - DNSSEC_DNS_QUERY_ERROR
                - DNSSEC_NSEC3_ITERATIONS_IS_NOT_ZERO
                - DNSSEC_NSEC3_SALT_IS_NOT_EMPTY
                type: string
              minItems: 1
              type: array
            dnssecOps01-ZSKRollover:
              items:
                enum:
                - DNSSEC_OPS_DNS_QUERY_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_INVALID_ALGORITHM
                - DNSSEC_OPS_XFR_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_ZONE_IS_INVALID
                - DNSSEC_OPS_ZSK_ROLLOVER_CHAIN_OF_TRUST_BROKEN
                - DNSSEC_OPS_ZSK_ROLLOVER_NOT_COMPLETED
                type: string
              minItems: 1
              type: array
            dnssecOps02-KSKRollover:
              items:
                enum:
                - DNSSEC_OPS_DNS_QUERY_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_INVALID_ALGORITHM
                - DNSSEC_OPS_KSK_ROLLOVER_CHAIN_OF_TRUST_BROKEN
                - DNSSEC_OPS_KSK_ROLLOVER_NOT_COMPLETED
                - DNSSEC_OPS_XFR_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_ZONE_IS_INVALID
                type: string
              minItems: 1
              type: array
            dnssecOps03-AlgorithmRollover:
              items:
                enum:
                - DNSSEC_OPS_ALGORITHM_ROLLOVER_CHAIN_OF_TRUST_BROKEN
                - DNSSEC_OPS_ALGORITHM_ROLLOVER_NOT_COMPLETED
                - DNSSEC_OPS_DNS_QUERY_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_INVALID_ALGORITHM
                - DNSSEC_OPS_XFR_FAILED_TOO_MANY_TIMES
                - DNSSEC_OPS_ZONE_IS_INVALID
                type: string
              minItems: 1
              type: array
            epp-01:
              items:
                enum:
                - EPP_TLS_BAD_CIPHER
                - EPP_TLS_CERTIFICATE_CHAIN_MISSING
                - EPP_TLS_CERTIFICATE_HOSTNAME_MISMATCH
                - EPP_TLS_CONNECTION_ERROR
                - EPP_TLS_EXPIRED_CERTIFICATE
                - EPP_TLS_FORBIDDEN_PROTOCOL_SUPPORTED
                - EPP_TLS_REQUIRED_PROTOCOL_NOT_SUPPORTED
                - EPP_TLS_UNTRUSTED_CERTIFICATE
                type: string
              minItems: 1
              type: array
            epp-02:
              items:
                enum:
                - EPP_GREETING_DOES_NOT_MATCH
                - EPP_GREETING_INVALID_LANG
                - EPP_GREETING_MISSING_EN_LANG
                - EPP_GREETING_MISSING_EXTURI
                - EPP_GREETING_MISSING_OBJURI
                - EPP_GREETING_SVDATE_INVALID
                - EPP_GREETING_SVID_INVALID
                - EPP_GREETING_UNEXPECTED_EXTURI
                - EPP_GREETING_UNEXPECTED_OBJURI
                - EPP_GREETING_VERSION_INVALID
                - EPP_NO_GREETING_RECEIVED
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-03:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_LOGIN_UNEXPECTEDLY_FAILED
                - EPP_LOGIN_UNEXPECTEDLY_SUCCEEDED
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-04:
              items:
                enum:
                - EPP_DOMAIN_CHECK_INVALID_DOMAIN_INCORRECT_AVAIL
                - EPP_DOMAIN_CHECK_REGISTERED_DOMAIN_INCORRECT_AVAIL
                - EPP_DOMAIN_CHECK_VALID_DOMAIN_INCORRECT_AVAIL
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-05:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_CHECK_INVALID_HOST_INCORRECT_AVAIL
                - EPP_HOST_CHECK_REGISTERED_HOST_INCORRECT_AVAIL
                - EPP_HOST_CHECK_VALID_HOST_INCORRECT_AVAIL
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-06:
              items:
                enum:
                - EPP_CONTACT_CHECK_INVALID_CONTACT_ID_INCORRECT_AVAIL
                - EPP_CONTACT_CHECK_REGISTERED_CONTACT_ID_INCORRECT_AVAIL
                - EPP_CONTACT_CHECK_VALID_CONTACT_ID_INCORRECT_AVAIL
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-07:
              items:
                enum:
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CC
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CITY
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_EMAIL
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX_EXT
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ID
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_NAME
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ORG
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_PC
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_POSTALINFO_TYPE
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_SP
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STREET
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE
                - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE_EXT
                - EPP_CONTACT_CREATE_INFO_RESPONSE_NOT_1000
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_CC
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_CITY
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_EMAIL
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_FAX
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_NAME
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_VOICE
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_CC
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_CITY
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_EMAIL
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_FAX
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_ID
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_NAME
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_ORG
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_POSTALINFO_TYPE
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_STREET
                - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_VOICE
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-08:
              items:
                enum:
                - EPP_CONTACT_INFO_RESPONSE_NOT_REJECTED
                - EPP_CONTACT_UPDATE_RESPONSE_NOT_REJECTED
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-09:
              items:
                enum:
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CC
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CITY
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_EMAIL
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX_EXT
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ID
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_NAME
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ORG
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_PC
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_POSTALINFO_TYPE
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_SP
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STATUS
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STREET
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE_EXT
                - EPP_CONTACT_UPDATE_INFO_RESPONSE_NOT_1000
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_CC
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_CITY
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_NAME
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_CC
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_CITY
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_EMAIL
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_FAX
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_ORG
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_PC
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_POSTALINFO_TYPE
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_SP
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_STREET
                - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_VOICE
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_COMMAND_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-10:
              items:
                enum:
                - EPP_CONTACT_DELETE_OBJECT_STILL_EXISTS
                - EPP_CONTACT_DELETE_RESPONSE_NOT_1000_OR_1001
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-11:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_CREATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
                - EPP_HOST_CREATE_INFO_RESPONSE_OBJECT_DOES_NOT_EXIST
                - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_HOSTNAME
                - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_IPV4_ADDRESS
                - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_IPv6_ADDRESS
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_COMMAND_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-12:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_UPDATE_AUTHZ_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-13:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_UPDATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
                - EPP_HOST_UPDATE_INFO_RESPONSE_OBJECT_DOES_NOT_EXIST
                - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_IPV4_ADDRESS
                - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_IPv6_ADDRESS
                - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_COMMAND_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-14:
              items:
                enum:
                - EPP_DOMAIN_CREATE_INFO_RESPONSE_INVALID_ROID
                - EPP_DOMAIN_CREATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_AUTHINFO
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITHOUT_GLUE
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITH_INVALID_GLUE
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_DNSSEC_DATA
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_DOMAIN_NAME
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_HOST_OBJECT
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_PERIOD
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_MISSING_REGISTRANT
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NON_EXISTENT_HOST_OBJECT
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NON_EXISTENT_REGISTRANT
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NO_REGISTRANT_FOR_THICK_REGISTRY
                - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_REGISTRANT_FOR_THIN_REGISTRY
                - EPP_DOMAIN_CREATE_SERVER_INCORRECTLY_ACCEPTS_HOST_ATTRIBUTES
                - EPP_DOMAIN_CREATE_SERVER_INCORRECTLY_ACCEPTS_HOST_OBJECTS
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-15:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INTEGRITY_SERVER_ACCEPTS_DELETE_FOR_LINKED_CONTACT_OBJECT
                - EPP_INTEGRITY_SERVER_ACCEPTS_DELETE_FOR_LINKED_HOST_OBJECT
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-16:
              items:
                enum:
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_DNSSEC_DATA
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_HOST_ATTRIBUTE
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_HOST_OBJECT
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_REGISTRANT
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_STATUS_CODE
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_DNSSEC_DATA
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_HOST_ATTRIBUTE
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_HOST_OBJECT
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_REGISTRANT
                - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_STATUS_CODE
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITHOUT_GLUE
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_DNSSEC_DATA
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_HOST_ATTRIBUTES
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_NON_EXISTENT_CONTACT_OBJECT
                - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_NON_EXISTENT_HOST_OBJECT
                - EPP_DOMAIN_UPDATE_SERVER_INCORRECTLY_ACCEPTS_HOST_ATTRIBUTES
                - EPP_DOMAIN_UPDATE_SERVER_INCORRECTLY_ACCEPTS_HOST_OBJECTS
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_COMMAND_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-17:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_SERVICE_PORT_NOT_CONSISTENT
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-18:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_RENEW_INFO_RESPONSE_MISSING_OR_INVALID_RGP_STATUS
                - EPP_RENEW_INFO_RESPONSE_UNEXPECTED_EXPIRY_DATE
                - EPP_RENEW_SERVER_ACCEPTS_INVALID_CURRENT_EXPIRY_DATE
                - EPP_RENEW_SERVER_ACCEPTS_INVALID_PERIOD
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-19:
              items:
                enum:
                - EPP_DOMAIN_TRANSFER_REQUEST_FAILED
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_TRANSFER_INFO_RESPONSE_AUTHINFO_NOT_RESET
                - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_RGP_STATUS
                - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_STATUS_CODE
                - EPP_TRANSFER_INFO_RESPONSE_UNEXPECTED_EXPIRY_DATE
                - EPP_TRANSFER_NOT_PROCESSED
                - EPP_TRANSFER_SERVER_ACCEPTS_INCORRECT_AUTHINFO
                - EPP_TRANSFER_SERVER_ACCEPTS_INSECURE_AUTHINFO
                - EPP_TRANSFER_SERVER_ACCEPTS_INVALID_PERIOD
                - EPP_TRANSFER_SERVER_REJECTS_SECURE_AUTHINFO
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-20:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_STATUS_CODE
                - EPP_TRANSFER_SERVER_ACCEPTS_INCORRECT_AUTHINFO
                - EPP_TRANSFER_SERVER_PROCESSED_REJECTED_TRANSFER
                - EPP_TRANSFER_SERVER_REJECTS_SECURE_AUTHINFO
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-21:
              items:
                enum:
                - EPP_DOMAIN_DELETE_INFO_RESPONSE_OBJECT_NOT_PENDING_DELETE
                - EPP_DOMAIN_DELETE_INFO_RESPONSE_OBJECT_STILL_EXISTS
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-23:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_RENAME_OBJECT_NOT_RENAMED
                - EPP_HOST_RENAME_SERVER_ACCEPTS_INVALID_HOSTNAME
                - EPP_HOST_RENAME_SERVER_ACCEPTS_RENAME_TO_ANOTHER_REGISTRARS_DOMAIN
                - EPP_HOST_RENAME_SERVER_ACCEPTS_RENAME_TO_NONEXISTENT_DOMAIN
                - EPP_HOST_RENAME_SERVER_INCORRECTLY_ACCEPTS_RENAME
                - EPP_HOST_RENAME_SERVER_REJECTS_EXTERNAL_NAME
                - EPP_HOST_RENAME_SERVER_UNEXPECTEDLY_REJECTS_RENAME
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-24:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_DELETE_INFO_RESPONSE_OBJECT_STILL_EXISTS
                - EPP_HOST_DELETE_RESPONSE_NOT_1000_OR_1001
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-25:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_HOST_CREATE_INCORRECT_CLID
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_UNEXPECTED_HOST_CREATE_SUCCESS
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-26:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_SERVER_ACCEPTS_INTERNAL_HOST_WITH_GLUE
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            epp-27:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_SERVER_ALLOWS_DELEGATION_TO_GLUELESS_HOST
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            idn-01:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_INVALID_IDN_EXTENSION
                - EPP_INVALID_IDN_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - IDN_SERVER_ACCEPTS_INVALID_LABEL
                - IDN_SERVER_REJECTS_VALID_LABEL
                - IDN_VARIANT_LABEL_NOT_BLOCKED
                - IDN_VARIANT_SERVER_ACCEPTS_VARIANT_CREATE_FROM_INCORRECT_REGISTRAR
                - IDN_VARIANT_SERVER_ACCEPTS_VARIANT_CREATE_WITH_INCORRECT_REGISTRANT
                - IDN_VARIANT_SERVER_REJECTS_VARIANT_CREATE_FROM_SAME_REGISTRAR
                - IDN_VARIANT_SERVER_REJECTS_VARIANT_CREATE_WITH_SAME_REGISTRANT
                type: string
              minItems: 1
              type: array
            idn-02:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - IDN_IDNONLY_TLD_ACCEPTS_ASCII_DOMAIN
                type: string
              minItems: 1
              type: array
            integration-01:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_DOMAIN_NOT_PRESENT_IN_RDAP
                type: string
              minItems: 1
              type: array
            integration-02:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_DOMAIN_NOT_PRESENT_IN_DNS
                type: string
              minItems: 1
              type: array
            integration-03:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_DOMAIN_NOT_PRESENT_IN_RDE
                type: string
              minItems: 1
              type: array
            integration-04:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_LINKED_HOST_OBJECTS_NOT_OBSERVED
                - INTEGRATION_UNLINKED_HOST_OBJECTS_OBSERVED
                type: string
              minItems: 1
              type: array
            integration-05:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_UNEXPECTED_COMMAND_FAILURE
                - EPP_XML_PARSE_ERROR
                - INTEGRATION_EXPECTED_GLUE_NOT_OBSERVED
                - INTEGRATION_UNEXPECTED_GLUE_OBSERVED
                type: string
              minItems: 1
              type: array
            minimumRPMs-01:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - RPMS_INVALID_CLAIMS_KEY
                - RPMS_MISSING_CLAIMS_KEY
                - RPMS_UNEXPECTED_CLAIMS_KEY
                type: string
              minItems: 1
              type: array
            minimumRPMs-02:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - RPMS_SUNRISE_CREATE_INFO_OBJECT_DOES_NOT_EXIST
                - RPMS_SUNRISE_CREATE_INFO_OBJECT_IS_HAS_MISSING_OR_INVALID_PROPERTIES
                - RPMS_SUNRISE_CREATE_UNEXPECTED_FAILURE_USING_VALID_SMD
                - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_INCORRECT_SMD
                - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_SMD
                - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_REVOKED_SMD
                - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_SMD_WITH_REVOKED_SIGNATURE
                type: string
              minItems: 1
              type: array
            minimumRPMs-03:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - RPMS_MISSING_CLAIMS_KEY
                - RPMS_TRADEMARK_CREATE_INFO_OBJECT_DOES_NOT_EXIST
                - RPMS_TRADEMARK_CREATE_INFO_OBJECT_IS_HAS_MISSING_OR_INVALID_PROPERTIES
                - RPMS_TRADEMARK_CREATE_UNEXPECTED_FAILURE_USING_VALID_NOTICE_ID
                - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_EXPIRED_NOTICE_ID
                - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_ACCEPTANCE_DATE
                - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_NOTICE_ID
                type: string
              minItems: 1
              type: array
            rdap-01:
              items:
                enum:
                - RDAP_DOMAIN_RESPONSE_VALIDATION_FAILED
                type: string
              minItems: 1
              type: array
            rdap-02:
              items:
                enum:
                - RDAP_NAMESERVER_RESPONSE_VALIDATION_FAILED
                type: string
              minItems: 1
              type: array
            rdap-03:
              items:
                enum:
                - RDAP_ENTITY_RESPONSE_VALIDATION_FAILED
                type: string
              minItems: 1
              type: array
            rdap-04:
              items:
                enum:
                - RDAP_HELP_RESPONSE_VALIDATION_FAILED
                type: string
              minItems: 1
              type: array
            rdap-05:
              items:
                enum:
                - RDAP_DOMAIN_HEAD_FAILED
                type: string
              minItems: 1
              type: array
            rdap-06:
              items:
                enum:
                - RDAP_NAMESERVER_HEAD_FAILED
                type: string
              minItems: 1
              type: array
            rdap-07:
              items:
                enum:
                - RDAP_ENTITY_HEAD_FAILED
                type: string
              minItems: 1
              type: array
            rdap-08:
              items:
                enum:
                - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_DOMAIN
                type: string
              minItems: 1
              type: array
            rdap-09:
              items:
                enum:
                - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_NAMESERVER
                type: string
              minItems: 1
              type: array
            rdap-10:
              items:
                enum:
                - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_ENTITY
                type: string
              minItems: 1
              type: array
            rdap-91:
              items:
                enum:
                - RDAP_TLS_BAD_CIPHER
                - RDAP_TLS_CERTIFICATE_CHAIN_MISSING
                - RDAP_TLS_CERTIFICATE_HOSTNAME_MISMATCH
                - RDAP_TLS_DNS_RESOLUTION_ERROR
                - RDAP_TLS_EXPIRED_CERTIFICATE
                - RDAP_TLS_FORBIDDEN_PROTOCOL_SUPPORTED
                - RDAP_TLS_REQUIRED_PROTOCOL_NOT_SUPPORTED
                - RDAP_TLS_SERVICE_PORT_UNREACHABLE
                - RDAP_TLS_UNTRUSTED_CERTIFICATE
                type: string
              minItems: 1
              type: array
            rdap-92:
              items:
                enum:
                - RDAP_QUERY_FAILED
                - RDAP_SERVICE_PORT_NOT_CONSISTENT
                - RDAP_TLS_DNS_RESOLUTION_ERROR
                - RDAP_TLS_SERVICE_PORT_UNREACHABLE
                type: string
              minItems: 1
              type: array
            rde-01:
              items:
                enum:
                - RDE_INVALID_FILENAME
                type: string
              minItems: 1
              type: array
            rde-02:
              items:
                enum:
                - RDE_INVALID_SIGNATURE
                type: string
              minItems: 1
              type: array
            rde-03:
              items:
                enum: []
                type: string
              minItems: 1
              type: array
            rde-04:
              items:
                enum:
                - RDE_INVALID_CSV
                - RDE_OBJECT_HAS_MIXED_TYPES
                type: string
              minItems: 1
              type: array
            rde-05:
              items:
                enum:
                - RDE_MENU_AND_HEADER_URIS_DIFFER
                - RDE_MISSING_OBJECT_URI
                - RDE_UNEXPECTED_OBJECT_URI
                type: string
              minItems: 1
              type: array
            rde-06:
              items:
                enum:
                - RDE_OBJECT_COUNT_MISMATCH
                - RDE_UNEXPECTED_OBJECT
                type: string
              minItems: 1
              type: array
            rde-07:
              items:
                enum:
                - RDE_DOMAIN_HAS_INVALID_ACRR
                - RDE_DOMAIN_HAS_INVALID_CLID
                - RDE_DOMAIN_HAS_INVALID_CRDATE
                - RDE_DOMAIN_HAS_INVALID_CRRR
                - RDE_DOMAIN_HAS_INVALID_EXDATE
                - RDE_DOMAIN_HAS_INVALID_NAME
                - RDE_DOMAIN_HAS_INVALID_REGISTRANT
                - RDE_DOMAIN_HAS_INVALID_RERR
                - RDE_DOMAIN_HAS_INVALID_ROID
                - RDE_DOMAIN_HAS_INVALID_STATUS
                - RDE_DOMAIN_HAS_INVALID_UPRR
                - RDE_DOMAIN_HAS_MISSING_CLID
                - RDE_DOMAIN_HAS_MISSING_CONTACT
                - RDE_DOMAIN_HAS_MISSING_CRDATE
                - RDE_DOMAIN_HAS_MISSING_EXDATE
                - RDE_DOMAIN_HAS_MISSING_NAMESERVER
                - RDE_DOMAIN_HAS_MISSING_REGISTRANT
                - RDE_DOMAIN_HAS_MISSING_ROID
                - RDE_DOMAIN_HAS_MISSING_STATUS
                - RDE_DOMAIN_HAS_NON_UNIQUE_NAME
                - RDE_DOMAIN_HAS_NON_UNIQUE_ROID
                - RDE_DOMAIN_HAS_UNEXPECTED_HOST_ATTRIBUTES
                - RDE_DOMAIN_HAS_UNEXPECTED_HOST_OBJECTS
                - RDE_DOMAIN_OBJECT_MISSING
                type: string
              minItems: 1
              type: array
            rde-08:
              items:
                enum:
                - RDE_HOST_HAS_INVALID_CLID
                - RDE_HOST_HAS_INVALID_IP_ADDRESS
                - RDE_HOST_HAS_INVALID_NAME
                - RDE_HOST_HAS_INVALID_ROID
                - RDE_HOST_HAS_INVALID_STATUS
                - RDE_HOST_HAS_MISSING_CLID
                - RDE_HOST_HAS_MISSING_IP_ADDRESS
                - RDE_HOST_HAS_MISSING_ROID
                - RDE_HOST_HAS_MISSING_STATUS
                - RDE_HOST_HAS_NON_UNIQUE_NAME
                - RDE_HOST_HAS_NON_UNIQUE_ROID
                - RDE_HOST_OBJECT_MISSING
                type: string
              minItems: 1
              type: array
            rde-09:
              items:
                enum:
                - RDE_CONTACT_HAS_INVALID_CC
                - RDE_CONTACT_HAS_INVALID_EMAIL
                - RDE_CONTACT_HAS_INVALID_ROID
                - RDE_CONTACT_HAS_MULTIPLE_POSTALINFO_TYPES
                - RDE_CONTACT_HAS_NON_UNIQUE_ID
                - RDE_CONTACT_HAS_NON_UNIQUE_ROID
                - RDE_CONTACT_HAS_UNKNOWN_ACRR
                - RDE_CONTACT_HAS_UNKNOWN_CLID
                - RDE_CONTACT_HAS_UNKNOWN_CRRR
                - RDE_CONTACT_HAS_UNKNOWN_RERR
                - RDE_CONTACT_HAS_UNKNOWN_UPRR
                - RDE_CONTACT_OBJECT_MISSING
                type: string
              minItems: 1
              type: array
            rde-10:
              items:
                enum:
                - RDE_REGISTRAR_HAS_INVALID_GURID
                - RDE_REGISTRAR_HAS_INVALID_ID
                - RDE_REGISTRAR_HAS_INVALID_NAME
                - RDE_REGISTRAR_HAS_MISSING_GURID
                - RDE_REGISTRAR_HAS_MISSING_ID
                - RDE_REGISTRAR_HAS_MISSING_NAME
                - RDE_REGISTRAR_OBJECT_MISSING
                type: string
              minItems: 1
              type: array
            rde-11:
              items:
                enum:
                - RDE_IDN_OBJECT_INVALID
                - RDE_IDN_OBJECT_MISSING
                - RDE_IDN_OBJECT_UNEXPECTED
                type: string
              minItems: 1
              type: array
            rde-12:
              items:
                enum:
                - RDE_NNDN_CONFLICTS_WITH_DOMAIN
                type: string
              minItems: 1
              type: array
            rde-13:
              items:
                enum:
                - RDE_GREETING_DOES_NOT_MATCH
                - RDE_MISSING_EPP_PARAMS_OBJECT
                type: string
              minItems: 1
              type: array
            rde-14:
              items:
                enum:
                - RDE_POLICY_OBJECT_INVALID
                - RDE_POLICY_OBJECT_MISSING
                - RDE_POLICY_OBJECT_MISSING_OBJECTS
                type: string
              minItems: 1
              type: array
            srsgw-01:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                type: string
              minItems: 1
              type: array
            srsgw-02:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_INVALID_EXTENSION
                - SRSGW_HOST_CREATE_FAILED
                - SRSGW_HOST_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
                - SRSGW_HOST_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
                type: string
              minItems: 1
              type: array
            srsgw-03:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_CONTACT_CREATE_FAILED
                - SRSGW_CONTACT_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
                - SRSGW_CONTACT_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-04:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_DOMAIN_CREATE_FAILED
                - SRSGW_DOMAIN_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
                - SRSGW_DOMAIN_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-05:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_DOMAIN_RENEW_FAILED
                - SRSGW_DOMAIN_RENEW_INCORRECT_EXPIRY_DATE
                - SRSGW_DOMAIN_RENEW_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-06:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_DOMAIN_TRANSFER_APPROVAL_FAILED
                - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_HAS_INCORRECT_CLID
                - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
                - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_STILL_PENDING_TRANSFER
                - SRSGW_DOMAIN_TRANSFER_REQUEST_FAILED
                - SRSGW_DOMAIN_TRANSFER_REQUEST_OBJECT_NOT_PENDING_TRANSFER
                - SRSGW_DOMAIN_TRANSFER_REQUEST_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-08:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_DOMAIN_DELETE_DOMAIN_NOT_PENDINGDELETE
                - SRSGW_DOMAIN_DELETE_FAILED
                - SRSGW_DOMAIN_DELETE_RGP_STATUS_NOT_REDEMPTIONPERIOD
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-09:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_HOST_UPDATE_FAILED
                - SRSGW_EPP_HOST_UPDATE_INFO_RESPONSES_DIFFER
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-10:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_HOST_DELETE_FAILED
                - SRSGW_EPP_HOST_DELETE_OBJECT_STILL_EXISTS
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-11:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_CONTACT_UPDATE_FAILED
                - SRSGW_EPP_CONTACT_UPDATE_INFO_RESPONSES_DIFFER
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-12:
              items:
                enum:
                - EPP_GENERIC_COMMAND_ERROR
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_CONTACT_DELETE_FAILED
                - SRSGW_EPP_CONTACT_DELETE_OBJECT_STILL_EXISTS
                - SRSGW_EPP_INVALID_EXTENSION
                type: string
              minItems: 1
              type: array
            srsgw-13:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_INVALID_EXTENSION
                - SRSGW_RDAP_DNS_RESOLUTION_ERROR
                - SRSGW_RDAP_QUERY_FAILED
                - SRSGW_RDAP_RESPONSES_DIFFER
                - SRSGW_RDAP_SERVICE_PORT_UNREACHABLE
                - SRSGW_RDAP_TLS_CONNECTION_ERROR
                type: string
              minItems: 1
              type: array
            srsgw-14:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_INVALID_EXTENSION
                - SRSGW_RDAP_DNS_RESOLUTION_ERROR
                - SRSGW_RDAP_QUERY_FAILED
                - SRSGW_RDAP_RESPONSES_DIFFER
                - SRSGW_RDAP_SERVICE_PORT_UNREACHABLE
                - SRSGW_RDAP_TLS_CONNECTION_ERROR
                type: string
              minItems: 1
              type: array
            srsgw-15:
              items:
                enum:
                - EPP_INVALID_EXTENSION
                - EPP_SCHEMA_VALIDATION_ERROR
                - EPP_TLS_CONNECTION_ERROR
                - EPP_XML_PARSE_ERROR
                - SRSGW_EPP_INVALID_EXTENSION
                - SRSGW_RDAP_DNS_RESOLUTION_ERROR
                - SRSGW_RDAP_QUERY_FAILED
                - SRSGW_RDAP_RESPONSES_DIFFER
                - SRSGW_RDAP_SERVICE_PORT_UNREACHABLE
                - SRSGW_RDAP_TLS_CONNECTION_ERROR
                type: string
              minItems: 1
              type: array
          example:
            "epp-02":
              - EPP_GREETING_UNEXPECTED_EXTURI

        createdBy:
          description: The ID of the client that created this object.
          type: string
          format: hostname
          x-constraints: "@ValidHostname"
          example: tlsa.rsp.example

        testID:
          description: The unique ID for this test request object.
          type: string
          example: 3aebd167-c275-45b6-842a-2680ed80422b

        testPlanVersion:
          description: |
            The version of the Test Plan that will be used for the test. This
            will be determined using the `Version` property of the [RST Test
            Specifications](https://icann.github.io/rst-test-specs/rst-test-specs.html)
            and follows the [Semantic Versioning](https://semver.org)
            convention.
          type: string
          pattern: "^\\d+(\\.\\d+)+$"
          example: "3.1.2024096"

        dateRequested:
          description: date/time when this request was submitted.
          type: string
          format: date-time

        dateUpdated:
          description: date/time when this request was last updated.
          type: string
          format: date-time

        dateStarted:
          description: date/time when the test run (if any) started.
          type: string
          format: date-time

        dateCompleted:
          description: date/time when the test run (if any) completed.
          type: string
          format: date-time

        status:
          $ref: "#/components/schemas/testStatus"

        result:
          $ref: "#/components/schemas/testResult"

        errorCodes:
          description: |
            If the result of the test is a fail or an error, then this property
            will contain any `ERROR` or `CRITICAL` error codes generated by the
            test run. Otherwise it will be omitted.
          type: array
          minItems: 0
          items:
            type: string
            enum:
              - DNSSEC_DNS_QUERY_ERROR
              - DNSSEC_INVALID_DIGEST_ALGORITHM
              - DNSSEC_INVALID_SIGNING_ALGORITHM
              - DNSSEC_NSEC3_ITERATIONS_IS_NOT_ZERO
              - DNSSEC_NSEC3_SALT_IS_NOT_EMPTY
              - DNSSEC_OPS_ALGORITHM_ROLLOVER_CHAIN_OF_TRUST_BROKEN
              - DNSSEC_OPS_ALGORITHM_ROLLOVER_NOT_COMPLETED
              - DNSSEC_OPS_DNS_QUERY_FAILED_TOO_MANY_TIMES
              - DNSSEC_OPS_INVALID_ALGORITHM
              - DNSSEC_OPS_KSK_ROLLOVER_CHAIN_OF_TRUST_BROKEN
              - DNSSEC_OPS_KSK_ROLLOVER_NOT_COMPLETED
              - DNSSEC_OPS_XFR_FAILED_TOO_MANY_TIMES
              - DNSSEC_OPS_ZONE_IS_INVALID
              - DNSSEC_OPS_ZSK_ROLLOVER_CHAIN_OF_TRUST_BROKEN
              - DNSSEC_OPS_ZSK_ROLLOVER_NOT_COMPLETED
              - DNS_CONSISTENCY_QUERY_FAILED
              - DNS_IDNA2008_INVALID_MNAME
              - DNS_IDNA2008_INVALID_NS_NSDNAME
              - DNS_IDNA2008_INVALID_RNAME
              - DNS_IDNA2008_QUERY_FAILED
              - DNS_INCONSISTENT_RESPONSES
              - EPP_CONTACT_CHECK_INVALID_CONTACT_ID_INCORRECT_AVAIL
              - EPP_CONTACT_CHECK_REGISTERED_CONTACT_ID_INCORRECT_AVAIL
              - EPP_CONTACT_CHECK_VALID_CONTACT_ID_INCORRECT_AVAIL
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CC
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CITY
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_EMAIL
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX_EXT
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ID
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_NAME
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ORG
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_PC
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_POSTALINFO_TYPE
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_SP
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STREET
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE
              - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE_EXT
              - EPP_CONTACT_CREATE_INFO_RESPONSE_NOT_1000
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_CC
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_CITY
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_EMAIL
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_FAX
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_NAME
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_VOICE
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_CC
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_CITY
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_EMAIL
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_FAX
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_ID
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_NAME
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_ORG
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_POSTALINFO_TYPE
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_STREET
              - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_VOICE
              - EPP_CONTACT_DELETE_OBJECT_STILL_EXISTS
              - EPP_CONTACT_DELETE_RESPONSE_NOT_1000_OR_1001
              - EPP_CONTACT_INFO_RESPONSE_NOT_REJECTED
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CC
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CITY
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_EMAIL
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX_EXT
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ID
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_NAME
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ORG
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_PC
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_POSTALINFO_TYPE
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_SP
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STATUS
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STREET
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE_EXT
              - EPP_CONTACT_UPDATE_INFO_RESPONSE_NOT_1000
              - EPP_CONTACT_UPDATE_RESPONSE_NOT_REJECTED
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_CC
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_CITY
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_NAME
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_CC
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_CITY
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_EMAIL
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_FAX
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_ORG
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_PC
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_POSTALINFO_TYPE
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_SP
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_STREET
              - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_VOICE
              - EPP_DNS_RESOLUTION_ERROR
              - EPP_DOMAIN_CHECK_INVALID_DOMAIN_INCORRECT_AVAIL
              - EPP_DOMAIN_CHECK_REGISTERED_DOMAIN_INCORRECT_AVAIL
              - EPP_DOMAIN_CHECK_VALID_DOMAIN_INCORRECT_AVAIL
              - EPP_DOMAIN_CREATE_INFO_RESPONSE_INVALID_ROID
              - EPP_DOMAIN_CREATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_AUTHINFO
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITHOUT_GLUE
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITH_INVALID_GLUE
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_DNSSEC_DATA
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_DOMAIN_NAME
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_HOST_OBJECT
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_PERIOD
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_MISSING_REGISTRANT
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NON_EXISTENT_HOST_OBJECT
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NON_EXISTENT_REGISTRANT
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NO_REGISTRANT_FOR_THICK_REGISTRY
              - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_REGISTRANT_FOR_THIN_REGISTRY
              - EPP_DOMAIN_CREATE_SERVER_INCORRECTLY_ACCEPTS_HOST_ATTRIBUTES
              - EPP_DOMAIN_CREATE_SERVER_INCORRECTLY_ACCEPTS_HOST_OBJECTS
              - EPP_DOMAIN_DELETE_INFO_RESPONSE_OBJECT_NOT_PENDING_DELETE
              - EPP_DOMAIN_DELETE_INFO_RESPONSE_OBJECT_STILL_EXISTS
              - EPP_DOMAIN_TRANSFER_REQUEST_FAILED
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_DNSSEC_DATA
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_HOST_ATTRIBUTE
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_HOST_OBJECT
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_REGISTRANT
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_STATUS_CODE
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_DNSSEC_DATA
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_HOST_ATTRIBUTE
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_HOST_OBJECT
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_REGISTRANT
              - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_STATUS_CODE
              - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITHOUT_GLUE
              - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_DNSSEC_DATA
              - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_HOST_ATTRIBUTES
              - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
              - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_NON_EXISTENT_CONTACT_OBJECT
              - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_NON_EXISTENT_HOST_OBJECT
              - EPP_DOMAIN_UPDATE_SERVER_INCORRECTLY_ACCEPTS_HOST_ATTRIBUTES
              - EPP_DOMAIN_UPDATE_SERVER_INCORRECTLY_ACCEPTS_HOST_OBJECTS
              - EPP_GENERIC_COMMAND_ERROR
              - EPP_GREETING_DOES_NOT_MATCH
              - EPP_GREETING_INVALID_LANG
              - EPP_GREETING_MISSING_EN_LANG
              - EPP_GREETING_MISSING_EXTURI
              - EPP_GREETING_MISSING_OBJURI
              - EPP_GREETING_RECOMMENDED_EXTENSION_MISSING
              - EPP_GREETING_SVDATE_INVALID
              - EPP_GREETING_SVID_INVALID
              - EPP_GREETING_UNEXPECTED_EXTURI
              - EPP_GREETING_UNEXPECTED_OBJURI
              - EPP_GREETING_VERSION_INVALID
              - EPP_HOST_CHECK_INVALID_HOST_INCORRECT_AVAIL
              - EPP_HOST_CHECK_REGISTERED_HOST_INCORRECT_AVAIL
              - EPP_HOST_CHECK_VALID_HOST_INCORRECT_AVAIL
              - EPP_HOST_CREATE_INCORRECT_CLID
              - EPP_HOST_CREATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
              - EPP_HOST_CREATE_INFO_RESPONSE_OBJECT_DOES_NOT_EXIST
              - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_HOSTNAME
              - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_IPV4_ADDRESS
              - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_IPv6_ADDRESS
              - EPP_HOST_DELETE_INFO_RESPONSE_OBJECT_STILL_EXISTS
              - EPP_HOST_DELETE_RESPONSE_NOT_1000_OR_1001
              - EPP_HOST_RENAME_OBJECT_NOT_RENAMED
              - EPP_HOST_RENAME_SERVER_ACCEPTS_INVALID_HOSTNAME
              - EPP_HOST_RENAME_SERVER_ACCEPTS_RENAME_TO_ANOTHER_REGISTRARS_DOMAIN
              - EPP_HOST_RENAME_SERVER_ACCEPTS_RENAME_TO_NONEXISTENT_DOMAIN
              - EPP_HOST_RENAME_SERVER_INCORRECTLY_ACCEPTS_RENAME
              - EPP_HOST_RENAME_SERVER_REJECTS_EXTERNAL_NAME
              - EPP_HOST_RENAME_SERVER_UNEXPECTEDLY_REJECTS_RENAME
              - EPP_HOST_UPDATE_AUTHZ_ERROR
              - EPP_HOST_UPDATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
              - EPP_HOST_UPDATE_INFO_RESPONSE_OBJECT_DOES_NOT_EXIST
              - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_IPV4_ADDRESS
              - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_IPv6_ADDRESS
              - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
              - EPP_INTEGRITY_SERVER_ACCEPTS_DELETE_FOR_LINKED_CONTACT_OBJECT
              - EPP_INTEGRITY_SERVER_ACCEPTS_DELETE_FOR_LINKED_HOST_OBJECT
              - EPP_INVALID_EXTENSION
              - EPP_INVALID_IDN_EXTENSION
              - EPP_LOGIN_ERROR
              - EPP_LOGIN_UNEXPECTEDLY_FAILED
              - EPP_LOGIN_UNEXPECTEDLY_SUCCEEDED
              - EPP_MISSING_AAAA_RECORDS
              - EPP_MISSING_A_RECORDS
              - EPP_NO_GREETING_RECEIVED
              - EPP_NO_SERVICE_PORTS_REACHABLE
              - EPP_RENEW_INFO_RESPONSE_MISSING_OR_INVALID_RGP_STATUS
              - EPP_RENEW_INFO_RESPONSE_UNEXPECTED_EXPIRY_DATE
              - EPP_RENEW_SERVER_ACCEPTS_INVALID_CURRENT_EXPIRY_DATE
              - EPP_RENEW_SERVER_ACCEPTS_INVALID_PERIOD
              - EPP_SCHEMA_VALIDATION_ERROR
              - EPP_SERVER_ACCEPTS_INTERNAL_HOST_WITH_GLUE
              - EPP_SERVER_ALLOWS_DELEGATION_TO_GLUELESS_HOST
              - EPP_SERVICE_PORT_NOT_CONSISTENT
              - EPP_SERVICE_PORT_UNREACHABLE
              - EPP_TLS_BAD_CIPHER
              - EPP_TLS_CERTIFICATE_CHAIN_MISSING
              - EPP_TLS_CERTIFICATE_HOSTNAME_MISMATCH
              - EPP_TLS_CONNECTION_ERROR
              - EPP_TLS_EXPIRED_CERTIFICATE
              - EPP_TLS_FORBIDDEN_PROTOCOL_SUPPORTED
              - EPP_TLS_REQUIRED_PROTOCOL_NOT_SUPPORTED
              - EPP_TLS_UNTRUSTED_CERTIFICATE
              - EPP_TRANSFER_INFO_RESPONSE_AUTHINFO_NOT_RESET
              - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_RGP_STATUS
              - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_STATUS_CODE
              - EPP_TRANSFER_INFO_RESPONSE_UNEXPECTED_EXPIRY_DATE
              - EPP_TRANSFER_NOT_PROCESSED
              - EPP_TRANSFER_SERVER_ACCEPTS_INCORRECT_AUTHINFO
              - EPP_TRANSFER_SERVER_ACCEPTS_INSECURE_AUTHINFO
              - EPP_TRANSFER_SERVER_ACCEPTS_INVALID_PERIOD
              - EPP_TRANSFER_SERVER_PROCESSED_REJECTED_TRANSFER
              - EPP_TRANSFER_SERVER_REJECTS_SECURE_AUTHINFO
              - EPP_UNEXPECTED_COMMAND_FAILURE
              - EPP_UNEXPECTED_COMMAND_SUCCESS
              - EPP_UNEXPECTED_HOST_CREATE_SUCCESS
              - EPP_XML_PARSE_ERROR
              - IDN_IDNONLY_TLD_ACCEPTS_ASCII_DOMAIN
              - IDN_SERVER_ACCEPTS_INVALID_LABEL
              - IDN_SERVER_REJECTS_VALID_LABEL
              - IDN_VARIANT_LABEL_NOT_BLOCKED
              - IDN_VARIANT_SERVER_ACCEPTS_VARIANT_CREATE_FROM_INCORRECT_REGISTRAR
              - IDN_VARIANT_SERVER_ACCEPTS_VARIANT_CREATE_WITH_INCORRECT_REGISTRANT
              - IDN_VARIANT_SERVER_REJECTS_VARIANT_CREATE_FROM_SAME_REGISTRAR
              - IDN_VARIANT_SERVER_REJECTS_VARIANT_CREATE_WITH_SAME_REGISTRANT
              - INTEGRATION_DNS_QUERY_FAILED
              - INTEGRATION_DOMAIN_NOT_PRESENT_IN_DNS
              - INTEGRATION_DOMAIN_NOT_PRESENT_IN_RDAP
              - INTEGRATION_DOMAIN_NOT_PRESENT_IN_RDE
              - INTEGRATION_EXPECTED_GLUE_NOT_OBSERVED
              - INTEGRATION_LINKED_HOST_OBJECTS_NOT_OBSERVED
              - INTEGRATION_RDAP_REQUEST_FAILED
              - INTEGRATION_RDE_SFTP_SERVER_AUTHENTICATION_ERROR
              - INTEGRATION_RDE_SFTP_SERVER_UNREACHABLE
              - INTEGRATION_UNEXPECTED_GLUE_OBSERVED
              - INTEGRATION_UNLINKED_HOST_OBJECTS_OBSERVED
              - RDAP_DOMAIN_HEAD_FAILED
              - RDAP_DOMAIN_RESPONSE_VALIDATION_FAILED
              - RDAP_ENTITY_HEAD_FAILED
              - RDAP_ENTITY_RESPONSE_VALIDATION_FAILED
              - RDAP_HELP_RESPONSE_VALIDATION_FAILED
              - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_DOMAIN
              - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_ENTITY
              - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_NAMESERVER
              - RDAP_NAMESERVER_HEAD_FAILED
              - RDAP_NAMESERVER_RESPONSE_VALIDATION_FAILED
              - RDAP_QUERY_FAILED
              - RDAP_SERVICE_PORT_NOT_CONSISTENT
              - RDAP_TLS_BAD_CIPHER
              - RDAP_TLS_CERTIFICATE_CHAIN_MISSING
              - RDAP_TLS_CERTIFICATE_HOSTNAME_MISMATCH
              - RDAP_TLS_DNS_RESOLUTION_ERROR
              - RDAP_TLS_EXPIRED_CERTIFICATE
              - RDAP_TLS_FORBIDDEN_PROTOCOL_SUPPORTED
              - RDAP_TLS_NO_SERVICE_PORTS_REACHABLE
              - RDAP_TLS_REQUIRED_PROTOCOL_NOT_SUPPORTED
              - RDAP_TLS_SERVICE_PORT_UNREACHABLE
              - RDAP_TLS_UNTRUSTED_CERTIFICATE
              - RDE_CONTACT_HAS_INVALID_CC
              - RDE_CONTACT_HAS_INVALID_EMAIL
              - RDE_CONTACT_HAS_INVALID_ROID
              - RDE_CONTACT_HAS_MULTIPLE_POSTALINFO_TYPES
              - RDE_CONTACT_HAS_NON_UNIQUE_ID
              - RDE_CONTACT_HAS_NON_UNIQUE_ROID
              - RDE_CONTACT_HAS_UNKNOWN_ACRR
              - RDE_CONTACT_HAS_UNKNOWN_CLID
              - RDE_CONTACT_HAS_UNKNOWN_CRRR
              - RDE_CONTACT_HAS_UNKNOWN_RERR
              - RDE_CONTACT_HAS_UNKNOWN_UPRR
              - RDE_CONTACT_OBJECT_MISSING
              - RDE_DECRYPTION_FAILED
              - RDE_DOMAIN_HAS_INVALID_ACRR
              - RDE_DOMAIN_HAS_INVALID_CLID
              - RDE_DOMAIN_HAS_INVALID_CRDATE
              - RDE_DOMAIN_HAS_INVALID_CRRR
              - RDE_DOMAIN_HAS_INVALID_EXDATE
              - RDE_DOMAIN_HAS_INVALID_NAME
              - RDE_DOMAIN_HAS_INVALID_REGISTRANT
              - RDE_DOMAIN_HAS_INVALID_RERR
              - RDE_DOMAIN_HAS_INVALID_ROID
              - RDE_DOMAIN_HAS_INVALID_STATUS
              - RDE_DOMAIN_HAS_INVALID_UPRR
              - RDE_DOMAIN_HAS_MISSING_CLID
              - RDE_DOMAIN_HAS_MISSING_CONTACT
              - RDE_DOMAIN_HAS_MISSING_CRDATE
              - RDE_DOMAIN_HAS_MISSING_EXDATE
              - RDE_DOMAIN_HAS_MISSING_NAMESERVER
              - RDE_DOMAIN_HAS_MISSING_REGISTRANT
              - RDE_DOMAIN_HAS_MISSING_ROID
              - RDE_DOMAIN_HAS_MISSING_STATUS
              - RDE_DOMAIN_HAS_NON_UNIQUE_NAME
              - RDE_DOMAIN_HAS_NON_UNIQUE_ROID
              - RDE_DOMAIN_HAS_UNEXPECTED_HOST_ATTRIBUTES
              - RDE_DOMAIN_HAS_UNEXPECTED_HOST_OBJECTS
              - RDE_DOMAIN_OBJECT_MISSING
              - RDE_GREETING_DOES_NOT_MATCH
              - RDE_HOST_HAS_INVALID_CLID
              - RDE_HOST_HAS_INVALID_IP_ADDRESS
              - RDE_HOST_HAS_INVALID_NAME
              - RDE_HOST_HAS_INVALID_ROID
              - RDE_HOST_HAS_INVALID_STATUS
              - RDE_HOST_HAS_MISSING_CLID
              - RDE_HOST_HAS_MISSING_IP_ADDRESS
              - RDE_HOST_HAS_MISSING_ROID
              - RDE_HOST_HAS_MISSING_STATUS
              - RDE_HOST_HAS_NON_UNIQUE_NAME
              - RDE_HOST_HAS_NON_UNIQUE_ROID
              - RDE_HOST_OBJECT_MISSING
              - RDE_IDN_OBJECT_INVALID
              - RDE_IDN_OBJECT_MISSING
              - RDE_IDN_OBJECT_UNEXPECTED
              - RDE_INVALID_CSV
              - RDE_INVALID_FILENAME
              - RDE_INVALID_SIGNATURE
              - RDE_MENU_AND_HEADER_URIS_DIFFER
              - RDE_MISSING_EPP_PARAMS_OBJECT
              - RDE_MISSING_FILES
              - RDE_MISSING_OBJECT_URI
              - RDE_NNDN_CONFLICTS_WITH_DOMAIN
              - RDE_OBJECT_COUNT_MISMATCH
              - RDE_OBJECT_HAS_MIXED_TYPES
              - RDE_POLICY_OBJECT_INVALID
              - RDE_POLICY_OBJECT_MISSING
              - RDE_POLICY_OBJECT_MISSING_OBJECTS
              - RDE_REGISTRAR_HAS_INVALID_GURID
              - RDE_REGISTRAR_HAS_INVALID_ID
              - RDE_REGISTRAR_HAS_INVALID_NAME
              - RDE_REGISTRAR_HAS_MISSING_GURID
              - RDE_REGISTRAR_HAS_MISSING_ID
              - RDE_REGISTRAR_HAS_MISSING_NAME
              - RDE_REGISTRAR_OBJECT_MISSING
              - RDE_SCHEMA_VALIDATION_ERROR
              - RDE_UNEXPECTED_OBJECT
              - RDE_UNEXPECTED_OBJECT_URI
              - RDE_XML_PARSE_ERROR
              - RPMS_INVALID_CLAIMS_KEY
              - RPMS_MISSING_CLAIMS_KEY
              - RPMS_SUNRISE_CREATE_INFO_OBJECT_DOES_NOT_EXIST
              - RPMS_SUNRISE_CREATE_INFO_OBJECT_IS_HAS_MISSING_OR_INVALID_PROPERTIES
              - RPMS_SUNRISE_CREATE_UNEXPECTED_FAILURE_USING_VALID_SMD
              - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_INCORRECT_SMD
              - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_SMD
              - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_REVOKED_SMD
              - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_SMD_WITH_REVOKED_SIGNATURE
              - RPMS_TRADEMARK_CREATE_INFO_OBJECT_DOES_NOT_EXIST
              - RPMS_TRADEMARK_CREATE_INFO_OBJECT_IS_HAS_MISSING_OR_INVALID_PROPERTIES
              - RPMS_TRADEMARK_CREATE_UNEXPECTED_FAILURE_USING_VALID_NOTICE_ID
              - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_EXPIRED_NOTICE_ID
              - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_ACCEPTANCE_DATE
              - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_NOTICE_ID
              - RPMS_UNEXPECTED_CLAIMS_KEY
              - RST_EXCEPTION
              - RST_REMOVED_ERROR
              - SRSGW_CONTACT_CREATE_FAILED
              - SRSGW_CONTACT_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
              - SRSGW_CONTACT_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
              - SRSGW_DOMAIN_CREATE_FAILED
              - SRSGW_DOMAIN_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
              - SRSGW_DOMAIN_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
              - SRSGW_DOMAIN_DELETE_DOMAIN_NOT_PENDINGDELETE
              - SRSGW_DOMAIN_DELETE_FAILED
              - SRSGW_DOMAIN_DELETE_RGP_STATUS_NOT_REDEMPTIONPERIOD
              - SRSGW_DOMAIN_RENEW_FAILED
              - SRSGW_DOMAIN_RENEW_INCORRECT_EXPIRY_DATE
              - SRSGW_DOMAIN_RENEW_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
              - SRSGW_DOMAIN_TRANSFER_APPROVAL_FAILED
              - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_HAS_INCORRECT_CLID
              - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
              - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_STILL_PENDING_TRANSFER
              - SRSGW_DOMAIN_TRANSFER_REQUEST_FAILED
              - SRSGW_DOMAIN_TRANSFER_REQUEST_OBJECT_NOT_PENDING_TRANSFER
              - SRSGW_DOMAIN_TRANSFER_REQUEST_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
              - SRSGW_EPP_CONTACT_DELETE_FAILED
              - SRSGW_EPP_CONTACT_DELETE_OBJECT_STILL_EXISTS
              - SRSGW_EPP_CONTACT_UPDATE_FAILED
              - SRSGW_EPP_CONTACT_UPDATE_INFO_RESPONSES_DIFFER
              - SRSGW_EPP_HOST_DELETE_FAILED
              - SRSGW_EPP_HOST_DELETE_OBJECT_STILL_EXISTS
              - SRSGW_EPP_HOST_UPDATE_FAILED
              - SRSGW_EPP_HOST_UPDATE_INFO_RESPONSES_DIFFER
              - SRSGW_EPP_INVALID_EXTENSION
              - SRSGW_HOST_CREATE_FAILED
              - SRSGW_HOST_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
              - SRSGW_HOST_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
              - SRSGW_RDAP_DNS_RESOLUTION_ERROR
              - SRSGW_RDAP_QUERY_FAILED
              - SRSGW_RDAP_RESPONSES_DIFFER
              - SRSGW_RDAP_SERVICE_PORT_UNREACHABLE
              - SRSGW_RDAP_TLS_CONNECTION_ERROR
              - ZM_A01_ADDR_NOT_GLOBALLY_REACHABLE
              - ZM_A01_DOCUMENTATION_ADDR
              - ZM_A01_LOCAL_USE_ADDR
              - ZM_A01_NO_GLOBALLY_REACHABLE_ADDR
              - ZM_A01_NO_NAME_SERVERS_FOUND
              - ZM_AAAA_BAD_RDATA
              - ZM_AAAA_QUERY_DROPPED
              - ZM_AAAA_UNEXPECTED_RCODE
              - ZM_A_UNEXPECTED_RCODE
              - ZM_BREAKS_ON_EDNS
              - ZM_CAN_NOT_BE_RESOLVED
              - ZM_CASE_QUERIES_RESULTS_DIFFER
              - ZM_CASE_QUERY_DIFFERENT_ANSWER
              - ZM_CASE_QUERY_DIFFERENT_RC
              - ZM_CASE_QUERY_NO_ANSWER
              - ZM_CHILD_NS_FAILED
              - ZM_CHILD_NS_SAME_IP
              - ZM_CHILD_ZONE_LAME
              - ZM_CN01_MISSING_NS_RECORD_UDP
              - ZM_CN01_MISSING_SOA_RECORD_UDP
              - ZM_CN01_NO_RESPONSE_NS_QUERY_UDP
              - ZM_CN01_NO_RESPONSE_SOA_QUERY_UDP
              - ZM_CN01_NO_RESPONSE_UDP
              - ZM_CN01_NS_RECORD_NOT_AA_UDP
              - ZM_CN01_SOA_RECORD_NOT_AA_UDP
              - ZM_CN01_UNEXPECTED_RCODE_NS_QUERY_UDP
              - ZM_CN01_UNEXPECTED_RCODE_SOA_QUERY_UDP
              - ZM_CN01_WRONG_NS_RECORD_UDP
              - ZM_CN01_WRONG_SOA_RECORD_UDP
              - ZM_CN02_MISSING_NS_RECORD_TCP
              - ZM_CN02_MISSING_SOA_RECORD_TCP
              - ZM_CN02_NO_RESPONSE_NS_QUERY_TCP
              - ZM_CN02_NO_RESPONSE_SOA_QUERY_TCP
              - ZM_CN02_NO_RESPONSE_TCP
              - ZM_CN02_NS_RECORD_NOT_AA_TCP
              - ZM_CN02_SOA_RECORD_NOT_AA_TCP
              - ZM_CN02_UNEXPECTED_RCODE_NS_QUERY_TCP
              - ZM_CN02_UNEXPECTED_RCODE_SOA_QUERY_TCP
              - ZM_CN02_WRONG_NS_RECORD_TCP
              - ZM_CN02_WRONG_SOA_RECORD_TCP
              - ZM_DEL_NS_SAME_IP
              - ZM_DIFFERENT_SOURCE_IP
              - ZM_DNSKEY_SMALLER_THAN_REC
              - ZM_DNSKEY_TOO_LARGE_FOR_ALGO
              - ZM_DNSKEY_TOO_SMALL_FOR_ALGO
              - ZM_DS01_DS_ALGO_2_MISSING
              - ZM_DS01_DS_ALGO_DEPRECATED
              - ZM_DS01_DS_ALGO_NOT_DS
              - ZM_DS01_DS_ALGO_PRIVATE
              - ZM_DS01_DS_ALGO_RESERVED
              - ZM_DS01_DS_ALGO_UNASSIGNED
              - ZM_DS01_NO_RESPONSE
              - ZM_DS01_PARENT_SERVER_NO_DS
              - ZM_DS02_DNSKEY_NOT_FOR_ZONE_SIGNING
              - ZM_DS02_DNSKEY_NOT_SEP
              - ZM_DS02_DNSKEY_NOT_SIGNED_BY_ANY_DS
              - ZM_DS02_NO_DNSKEY_FOR_DS
              - ZM_DS02_NO_MATCHING_DNSKEY_RRSIG
              - ZM_DS02_NO_MATCH_DS_DNSKEY
              - ZM_DS02_NO_VALID_DNSKEY_FOR_ANY_DS
              - ZM_DS02_RRSIG_NOT_VALID_BY_DNSKEY
              - ZM_DS03_ERR_MULT_NSEC3
              - ZM_DS03_ILLEGAL_HASH_ALGO
              - ZM_DS03_ILLEGAL_ITERATION_VALUE
              - ZM_DS03_ILLEGAL_SALT_LENGTH
              - ZM_DS03_INCONSISTENT_HASH_ALGO
              - ZM_DS03_INCONSISTENT_ITERATION
              - ZM_DS03_INCONSISTENT_NSEC3_FLAGS
              - ZM_DS03_INCONSISTENT_SALT_LENGTH
              - ZM_DS03_NO_DNSSEC_SUPPORT
              - ZM_DS03_SERVER_NO_DNSSEC_SUPPORT
              - ZM_DS03_SERVER_NO_NSEC3
              - ZM_DS03_UNASSIGNED_FLAG_USED
              - ZM_DS05_ALGO_DEPRECATED
              - ZM_DS05_ALGO_NOT_RECOMMENDED
              - ZM_DS05_ALGO_NOT_ZONE_SIGN
              - ZM_DS05_ALGO_PRIVATE
              - ZM_DS05_ALGO_RESERVED
              - ZM_DS05_ALGO_UNASSIGNED
              - ZM_DS05_NO_RESPONSE
              - ZM_DS05_SERVER_NO_DNSSEC
              - ZM_DS08_DNSKEY_RRSIG_EXPIRED
              - ZM_DS08_DNSKEY_RRSIG_NOT_YET_VALID
              - ZM_DS08_MISSING_RRSIG_IN_RESPONSE
              - ZM_DS08_NO_MATCHING_DNSKEY
              - ZM_DS08_RRSIG_NOT_VALID_BY_DNSKEY
              - ZM_DS09_MISSING_RRSIG_IN_RESPONSE
              - ZM_DS09_NO_MATCHING_DNSKEY
              - ZM_DS09_RRSIG_NOT_VALID_BY_DNSKEY
              - ZM_DS09_SOA_RRSIG_EXPIRED
              - ZM_DS09_SOA_RRSIG_NOT_YET_VALID
              - ZM_DS10_ERR_MULT_NSEC
              - ZM_DS10_ERR_MULT_NSEC3
              - ZM_DS10_ERR_MULT_NSEC3PARAM
              - ZM_DS10_EXPECTED_NSEC_NSEC3_MISSING
              - ZM_DS10_INCONSISTENT_NSEC
              - ZM_DS10_INCONSISTENT_NSEC3
              - ZM_DS10_INCONSISTENT_NSEC_NSEC3
              - ZM_DS10_MIXED_NSEC_NSEC3
              - ZM_DS10_NSEC3PARAM_GIVES_ERR_ANSWER
              - ZM_DS10_NSEC3PARAM_MISMATCHES_APEX
              - ZM_DS10_NSEC3PARAM_QUERY_RESPONSE_ERR
              - ZM_DS10_NSEC3_ERR_TYPE_LIST
              - ZM_DS10_NSEC3_MISMATCHES_APEX
              - ZM_DS10_NSEC3_MISSING_SIGNATURE
              - ZM_DS10_NSEC3_NODATA_MISSING_SOA
              - ZM_DS10_NSEC3_NODATA_WRONG_SOA
              - ZM_DS10_NSEC3_NO_VERIFIED_SIGNATURE
              - ZM_DS10_NSEC3_RRSIG_EXPIRED
              - ZM_DS10_NSEC3_RRSIG_NOT_YET_VALID
              - ZM_DS10_NSEC3_RRSIG_NO_DNSKEY
              - ZM_DS10_NSEC3_RRSIG_VERIFY_ERROR
              - ZM_DS10_NSEC_ERR_TYPE_LIST
              - ZM_DS10_NSEC_GIVES_ERR_ANSWER
              - ZM_DS10_NSEC_MISMATCHES_APEX
              - ZM_DS10_NSEC_MISSING_SIGNATURE
              - ZM_DS10_NSEC_NODATA_MISSING_SOA
              - ZM_DS10_NSEC_NODATA_WRONG_SOA
              - ZM_DS10_NSEC_NO_VERIFIED_SIGNATURE
              - ZM_DS10_NSEC_QUERY_RESPONSE_ERR
              - ZM_DS10_NSEC_RRSIG_EXPIRED
              - ZM_DS10_NSEC_RRSIG_NOT_YET_VALID
              - ZM_DS10_NSEC_RRSIG_NO_DNSKEY
              - ZM_DS10_NSEC_RRSIG_VERIFY_ERROR
              - ZM_DS10_SERVER_NO_DNSSEC
              - ZM_DS13_ALGO_NOT_SIGNED_DNSKEY
              - ZM_DS13_ALGO_NOT_SIGNED_NS
              - ZM_DS13_ALGO_NOT_SIGNED_SOA
              - ZM_DURATION_LONG
              - ZM_EDNS_RESPONSE_WITHOUT_EDNS
              - ZM_EDNS_VERSION_ERROR
              - ZM_EXTRA_ADDRESS_CHILD
              - ZM_EXTRA_NAME_PARENT
              - ZM_EXTRA_PROCESSING_BROKEN
              - ZM_IN_BAILIWICK_ADDR_MISMATCH
              - ZM_IPV4_ONE_ASN
              - ZM_IPV6_ONE_ASN
              - ZM_IS_A_RECURSOR
              - ZM_IS_NOT_AUTHORITATIVE
              - ZM_MISSING_OPT_IN_TRUNCATED
              - ZM_MNAME_DISCOURAGED_DOUBLE_DASH
              - ZM_MNAME_HAS_NO_ADDRESS
              - ZM_MNAME_NON_ALLOWED_CHARS
              - ZM_MNAME_NUMERIC_TLD
              - ZM_MULTIPLE_NS_SET
              - ZM_MULTIPLE_SOA
              - ZM_MULTIPLE_SOA_MNAMES
              - ZM_MULTIPLE_SOA_RNAMES
              - ZM_MULTIPLE_SOA_TIME_PARAMETER_SET
              - ZM_N10_EDNS_RESPONSE_ERROR
              - ZM_N10_NO_RESPONSE_EDNS1_QUERY
              - ZM_N10_UNEXPECTED_RCODE
              - ZM_N11_NO_EDNS
              - ZM_N11_NO_RESPONSE
              - ZM_N11_RETURNS_UNKNOWN_OPTION_CODE
              - ZM_N11_UNEXPECTED_ANSWER_SECTION
              - ZM_N11_UNEXPECTED_RCODE
              - ZM_N11_UNSET_AA
              - ZM_NAMESERVER_IP_WITHOUT_REVERSE
              - ZM_NOT_ENOUGH_IPV4_NS_CHILD
              - ZM_NOT_ENOUGH_IPV4_NS_DEL
              - ZM_NOT_ENOUGH_IPV6_NS_CHILD
              - ZM_NOT_ENOUGH_IPV6_NS_DEL
              - ZM_NOT_ENOUGH_NS_CHILD
              - ZM_NOT_ENOUGH_NS_DEL
              - ZM_NO_EDNS_SUPPORT
              - ZM_NO_IPV4_NS_CHILD
              - ZM_NO_IPV4_NS_DEL
              - ZM_NO_IPV6_NS_CHILD
              - ZM_NO_IPV6_NS_DEL
              - ZM_NO_RESOLUTION
              - ZM_NO_RESPONSE
              - ZM_NO_RESPONSE_DNSKEY
              - ZM_NO_RESPONSE_NS_QUERY
              - ZM_NO_RESPONSE_PTR_QUERY
              - ZM_NO_RESPONSE_SOA_QUERY
              - ZM_NO_SOA_IN_RESPONSE
              - ZM_NS_ERROR
              - ZM_NS_IS_CNAME
              - ZM_OUT_OF_BAILIWICK_ADDR_MISMATCH
              - ZM_QNAME_CASE_INSENSITIVE
              - ZM_REFERRAL_SIZE_TOO_LARGE
              - ZM_REMAINING_LONG
              - ZM_REMAINING_SHORT
              - ZM_RNAME_MAIL_DOMAIN_INVALID
              - ZM_RNAME_MAIL_DOMAIN_LOCALHOST
              - ZM_RNAME_MAIL_ILLEGAL_CNAME
              - ZM_RNAME_MISUSED_AT_SIGN
              - ZM_RNAME_RFC822_INVALID
              - ZM_RRSIG_EXPIRED
              - ZM_SAME_IP_ADDRESS
              - ZM_TOTAL_NAME_MISMATCH
              - ZM_UNEXPECTED_RCODE
              - ZM_WRONG_SOA
              - ZM_Z_FLAGS_NOTCLEAR

        inputs:
          $ref: "#/components/schemas/inputParameters"

        missingInputs:
          description: |
            An array listing any required input parameters that have not yet
            been provided.
          type: array
          minItems: 0
          items:
            type: string
            enum:
              - dns.gluePolicy
              - dns.nameservers
              - dnssec.dsRecords
              - dnssecOps.algorithmRolloverZone
              - dnssecOps.csk
              - dnssecOps.kskRolloverZone
              - dnssecOps.nameservers
              - dnssecOps.primaryServers
              - dnssecOps.tsigKey
              - dnssecOps.zskRolloverZone
              - epp.clid01
              - epp.clid01DataModel
              - epp.clid02
              - epp.clid02DataModel
              - epp.greeting
              - epp.hostModel
              - epp.hostName
              - epp.loginExtension
              - epp.pwd01
              - epp.pwd02
              - epp.registeredContacts
              - epp.registeredNames
              - epp.registeredNameservers
              - epp.requiredContactElements
              - epp.requiredContactTypes
              - epp.secDNSInterfaces
              - epp.serverIssuedClientCertificate01
              - epp.serverIssuedClientCertificate02
              - epp.supportedContactElements
              - epp.supportedContactPostalInfoTypes
              - general.registryDataModel
              - idn.domainCreateExtension
              - integration.rdeSFTPDirectory
              - integration.rdeSFTPHostname
              - integration.rdeSFTPUsername
              - minimumRPMS.claimsTLD
              - minimumRPMS.sunriseModel
              - minimumRPMS.sunriseTLD
              - rdap.baseURLs
              - rdap.profileVersion
              - rdap.testDomains
              - rdap.testEntities
              - rdap.testNameservers
              - rde.depositFile
              - rde.publicKey
              - rde.signatureFile
              - srsgw.domainCreateExtension
              - srsgw.domainDeleteExtension
              - srsgw.domainRenewExtension
              - srsgw.domainTransferApproveExtension
              - srsgw.domainTransferRequestExtension
              - srsgw.eppClid01
              - srsgw.eppClid01DataModel
              - srsgw.eppClid02
              - srsgw.eppClid02DataModel
              - srsgw.eppHostName
              - srsgw.eppPwd01
              - srsgw.eppPwd02
              - srsgw.eppRequiredContactElements
              - srsgw.eppRequiredContactTypes
              - srsgw.eppSupportedContactElements
              - srsgw.loginExtension
              - srsgw.rdapBaseURLs
              - srsgw.registryDataModel
              - srsgw.serverIssuedClientCertificate01
              - srsgw.serverIssuedClientCertificate02

        files:
          description: A list of any files uploaded.
          type: array
          minItems: 0
          items:
            $ref: "#/components/schemas/fileRef"

        missingFiles:
          description: A list of any files that have not yet been uploaded.
          type: array
          minItems: 0
          items:
            type: string

        results:
          description: |
            The `results` property is an array of objects. It property will
            initially be an empty array, until a test run is started.
          type: array
          minItems: 0
          items:
            type: object
            description: |
             An abbreviated representation of a test run.
            required:
              - runID
              - dateStarted
              - dateCompleted
              - result
              - href
            properties:
              runID:
                description: unique ID for this test run.
                type: string
                example: 3ed892dd-2b29-4f59-b024-653345067547
              dateStarted:
                description: The date and time the run started.
                type: string
                format: date-time
              dateCompleted:
                description: The date and time the run started.
                type: string
                format: date-time
              result:
                $ref: "#/components/schemas/testResult"
              href:
                description: The URL of the test run log.
                type: string
                format: url
                x-constraints: "@ValidUrl"
                example: /v1/test/3aebd167-c275-45b6-842a-2680ed80422b/run/3ed892dd-2b29-4f59-b024-653345067547

    inputParameters:
      description: |
        Users must provide various input parameters to be used within test
        cases. An `inputParameters` object is used when users submit these
        parameters after a test request object is created, and is also used when
        returning test request object information.
      type: object
      properties:
        dns.gluePolicy:
          description: |
            The policy explicitly or implicitly applied to glue records, that is, the
            IPv4 and IPv6 addresses provided by registrars for nameservers.
        
            The possible values of this input parameter are `narrow` and `wide`, which
            are taken from [Section 4 of
            draft-koch-dns-glue-clarifications](https://datatracker.ietf.org/doc/html/draft-koch-dns-glue-clarifications-05#section-4):
        
            * "narrow": Glue RRs are published if the name server resides within or
              below the delegated (child) zone.
            * "wide": Glue RRs are published if the name server resides below the
              delegating (parent) zone.
          enum:
          - narrow
          - wide
          example: narrow
          type: string
        dns.nameservers:
          description: |
            The set of nameservers that will be authoritative for the TLD.
        
            This input parameter is an array containing objects representing TLDs, and
            the corresponding nameservers.
        
            There **MUST** be an entry for every TLD in the TLD set.
          example:
          - name: example
            nameservers:
            - name: ns1.example.com
              supportsDoT: true
              v4Addrs:
              - 192.0.2.1
              v6Addrs:
              - 2001:DB8::53:1
            - name: ns2.example.net
              supportsDoH: true
              v4Addrs:
              - 192.0.2.2
              v6Addrs:
              - 2001:DB8::53:2
          items:
            properties:
              name:
                description: The TLD name.
                format: hostname
                type: string
              nameservers:
                description: The nameservers for the TLD
                items:
                  properties:
                    name:
                      description: The fully-qualified nameserver name.
                      format: hostname
                      type: string
                    supportsDoH:
                      default: false
                      description: |
                        Whether this nameserver supports DNS over HTTPS ([RFC
                        8484](https://www.rfc-editor.org/rfc/rfc8484.html)).
                      example: false
                      type: boolean
                    supportsDoQ:
                      default: false
                      description: |
                        Whether this nameserver supports DNS over Dedicated QUIC
                        Connections ([RFC
                        9250](https://www.rfc-editor.org/rfc/rfc9250.html)).
                      example: false
                      type: boolean
                    supportsDoT:
                      default: false
                      description: |
                        Whether this nameserver supports DNS over TLS ([RFC
                        7858](https://www.rfc-editor.org/rfc/rfc7858.html)).
                      example: false
                      type: boolean
                    v4Addrs:
                      description: The IPv4 address(es) for the nameserver.
                      items:
                        format: ipv4
                        type: string
                      minItems: 1
                      type: array
                      x-constraints: '@ValidIpv4List'
                    v6Addrs:
                      description: The IPv6 address(es) for the nameserver.
                      items:
                        format: ipv6
                        type: string
                      minItems: 1
                      type: array
                      x-constraints: '@ValidIpv6List'
                  required:
                  - name
                  type: object
                minItems: 2
                type: array
            required:
            - name
            - nameservers
            type: object
          minItems: 1
          type: array
        dnssec.dsRecords:
          description: |
            The DS record(s) that may be used to validate the DNSSEC signature for the
            TLD(s). This input parameter is an array containing objects representing
            TLDs, and the corresponding DS record(s).
        
            There **MUST** be an entry for every TLD in the TLD set and there **MUST**
            be at least one DS record for each TLD.
          example:
          - dsRecords:
            - alg: 8
              digest: E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D
              digestType: 2
              keyTag: 12345
            name: example
          items:
            properties:
              dsRecords:
                description: the DS record(s)
                items:
                  properties:
                    alg:
                      format: uint16
                      type: integer
                    digest:
                      pattern: ^[0-9A-Fa-f]+$
                      type: string
                    digestType:
                      format: uint16
                      type: integer
                    keyTag:
                      format: uint16
                      type: integer
                  required:
                  - keyTag
                  - alg
                  - digestType
                  - digest
                  type: object
                minItems: 1
                type: array
              name:
                description: the zone name
                format: hostname
                type: string
            required:
            - name
            - dsRecords
            type: object
          minItems: 1
          type: array
        dnssecOps.algorithmRolloverZone:
          description: |
            The domain name which will be monitored for the occurrence of an algorithm
            rollover.
        
            This value of this input parameter **MUST NOT** be the same as the values of
            the `dnssecOps.kskRolloverZone` and `dnssecOps.zskRolloverZone`
            parameters.
          example: example.com
          format: hostname
          type: string
        dnssecOps.csk:
          description: |
            A boolean indicating whether the RSP uses a Combined Signing Key (CSK,
            also referred to as a "Single Type Signing Scheme") instead of a split
            KSK/ZSK configuration.
          example: false
          type: boolean
        dnssecOps.kskRolloverZone:
          description: |
            The domain name which will be monitored for the occurrence of a KSK
            rollover.
        
            This value of this input parameter **MUST NOT** be the same as the values of
            the `dnssecOps.zskRolloverZone` and `dnssecOps.algorithmRolloverZone`
            parameters.
          example: example.com
          format: hostname
          type: string
        dnssecOps.nameservers:
          description: |
            The set of nameservers that will be authoritative for the zones used in the
            DNSSEC operations test suite.
          example:
          - name: ns1.example.com
            v4Addrs:
            - 192.0.2.1
            v6Addrs:
            - 2001:DB8::53:1
          - name: ns2.example.net
            v4Addrs:
            - 192.0.2.2
            v6Addrs:
            - 2001:DB8::53:2
          items:
            properties:
              name:
                description: The fully-qualified nameserver name.
                format: hostname
                type: string
              v4Addrs:
                description: The IPv4 address(es) for the nameserver.
                items:
                  format: ipv4
                  type: string
                minItems: 1
                type: array
                x-constraints: '@ValidIpv4List'
              v6Addrs:
                description: The IPv6 address(es) for the nameserver.
                items:
                  format: ipv6
                  type: string
                minItems: 1
                type: array
                x-constraints: '@ValidIpv6List'
            required:
            - name
            type: object
          minItems: 1
          type: array
        dnssecOps.primaryServers:
          description: |
            The primary nameserver(s) from which zones can be transferred. At least one
            IPv4 or IPv6 address **MUST** be provided.
          example:
            v4Addrs:
            - 192.0.2.1
            v6Addrs:
            - 2001:DB8::53:2
          properties:
            v4Addrs:
              description: The IPv4 address(es) for the primary server(s).
              items:
                format: ipv4
                type: string
              minItems: 1
              type: array
              x-constraints: '@ValidIpv4List'
            v6Addrs:
              description: The IPv6 address(es) for the primary server(s).
              items:
                format: ipv6
                type: string
              minItems: 1
              type: array
              x-constraints: '@ValidIpv6List'
          type: object
        dnssecOps.tsigKey:
          description: The TSIG key which should be used to perform zone transfers.
          example:
            algorithm: hmac-sha256
            name: rst-tsig-01
            secret: cSevMti9Wj6P2i4SsK4bHRnzUKT8k/FGOUoPLZ7kYm8=
          properties:
            algorithm:
              description: |
                The TSIG algorithm. The mnemonics are a subset of those published in
                the IANA registry at
                <https://www.iana.org/assignments/tsig-algorithm-names/tsig-algorithm-names.xhtml>.
              enum:
              - hmac-sha256
              - hmac-sha384
              - hmac-sha512
              type: string
            name:
              description: The TSIG name.
              format: hostname
              type: string
            secret:
              description: The TSIG secret.
              type: string
          type: object
        dnssecOps.zskRolloverZone:
          description: |
            The domain name which will be monitored for the occurrence of a ZSK
            rollover.
        
            This value of this input parameter **MUST NOT** be the same as the values of
            the `dnssecOps.kskRolloverZone` and `dnssecOps.algorithmRolloverZone`
            parameters.
          example: example.com
          format: hostname
          type: string
        epp.clid01:
          description: The username used to log in to the EPP server.
          example: clid-01
          maxLength: 16
          minLength: 3
          type: string
        epp.clid01DataModel:
          description: |
            the data model configured for this registrar. This may be omitted and will
            in any case be ignored unless the value of the `general.registryDataModel`
            input parameter is `per-registrar`.
        
            * A value of `minimum` means that this registrar does not need to specify a
              registrant object when creating a domain name.
            * A value of `maximum` means that this registrar **MUST** specify a
              registrant object when creating a domain name.
        
            If the value of the `general.registryDataModel` input parameter is
            `per-registrar`, then the value of this input parameter **MUST** be
            different from the value of the `epp.clid02DataModel` input parameter.
          enum:
          - minimum
          - maximum
          example: minimum
          type: string
        epp.clid02:
          description: The username used for transfer tests.
          example: clid-02
          maxLength: 16
          minLength: 3
          type: string
        epp.clid02DataModel:
          description: |
            the data model configured for this registrar. This may be omitted and will
            in any case be ignored unless the value of the `general.registryDataModel`
            input parameter is `per-registrar`.
        
            * A value of `minimum` means that this registrar does not need to specify a
              registrant object when creating a domain name.
            * A value of `maximum` means that this registrar **MUST** specify a
              registrant object when creating a domain name.
        
            If the value of the `general.registryDataModel` input parameter is
            `per-registrar`, then the value of this input parameter **MUST** be
            different from the value of the `epp.clid01DataModel` input parameter.
          enum:
          - minimum
          - maximum
          example: minimum
          type: string
        epp.greeting:
          description: |
            An XML instance which contains a copy of the server's `<greeting>`.
          example: greeting.xml
          pattern: ^[A-Za-z0-9-_\.]+$
          type: string
        epp.hostModel:
          description: |
            The host model supported by the EPP server. The possible values for this
            parameter are:
              * `objects`
              * `attributes`
          enum:
          - objects
          - attributes
          example: objects
          type: string
        epp.hostName:
          description: |
            The fully-qualified domain name of the EPP server.
        
            The server name **MUST** comply with the requirements for valid
            hostnames described in [RFC
            1123](https://www.rfc-editor.org/rfc/rfc1123.html), section 2.1.
            Additionally, all IDN labels in the server name **MUST** comply with
            IDNA2008.
          example: epp.rsp.tech
          format: hostname
          type: string
        epp.loginExtension:
          description: |
            An EPP `<extension>` element containing the extension elements(s) which are
            required to succesfully log in to the EPP server.
        
            The XML namespace URI(s) of the child elements(s) of the `<extension>`
            element **MUST** appear in `<extURI>` elements in the `<greeting>`, and the
            extension(s) **MUST** be registered in the [EPP Extension
            Registry](https://www.iana.org/assignments/epp-extensions/epp-extensions.xhtml).
        
            If no extensions are required, this input parameter **MUST** be omitted. If
            provided, its content will not be validated until the test run occurs, and
            if found to be invalid, the `EPP_INVALID_EXTENSION` error will be emitted.
        
            **Note:** the RST v2.0 service natively supports the [Login
            Security extension (RFC
            8807)](https://www.rfc-editor.org/rfc/rfc8807.html). If your EPP server
            implements this extension, you **MUST NOT** include it in this input
            parameter.
          example: |
            <extension xmlns='urn:ietf:params:xml:ns:epp-1.0'>
              <login xmlns="our:epp:extension">
                <!-- extension element(s) go here
              </login>
              <!-- any additional element(s) here -->
            </extension>
          type: string
        epp.pwd01:
          description: The password used to log in to the EPP server.
          example: foo2bar
          type: string
        epp.pwd02:
          description: The password used for transfer tests.
          example: foo3bar
          type: string
        epp.registeredContacts:
          description: |
            An array of contact IDs that exist in the EPP server and which are therefore
            unavailable for registration.
        
            If the value of `general.registryDataModel` is `minimum`, this parameter
            **MUST** be omitted. Otherwise, at least two contact IDs **MUST** be
            provided.
          example:
          - abc123
          - def321
          items:
            type: string
          minItems: 2
          type: array
        epp.registeredNames:
          description: |
            An array of domain names that exist in the EPP server and which are
            therefore unavailable for registration. The domains **MUST NOT** be under
            the sponsorship of the `epp.clid01` or `epp.clid02` registrars. The array
            **MUST** contain one member for each TLD in the TLD set.
          example:
          - example.example1
          - example.example2
          items:
            format: hostname
            type: string
          type: array
        epp.registeredNameservers:
          description: |
            An array of host objects that exist in the EPP server and which are
            therefore unavailable for registration.
        
            If the value of `epp.hostModel` is `objects`, for each TLD in the TLD set,
            this array **MUST** contain one hostname which is subordinate to that TLD.
        
            However, if it is `attributes`, this parameter **MUST** be omitted.
          example:
          - ns1.example.example1
          - ns2.example.example2
          items:
            format: hostname
            type: string
          type: array
        epp.requiredContactElements:
          description: |
            This input parameter is complementary to the `epp.supportedContactElements`
            parameter. It may be used to indicate those elements which are optional in
            [RFC 5733](https://www.rfc-editor.org/rfc/rfc5733.html) but are mandatory in
            the server policy.
        
            All elements that are listed in this parameter **MUST** also be listed in
            the `epp.supportedContactElements` parameter.
        
            This input parameter is an array of element tag names, optionally suffixed
            with a colon (`:`) followed by an attribute name.
        
            If the value of `general.registryDataModel` is `minimum`, this array `MUST`
            be empty.
          example:
          - street
          - voice
          items:
            enum:
            - org
            - street
            - sp
            - pc
            - voice
            - voice:ext
            - fax
            - fax:ext
            type: string
          type: array
        epp.requiredContactTypes:
          description: |
            An array containing the values of the `type` attribute of `<contact>`
            element(s) that are required to successfully create a domain name.
        
            If the value of `general.registryDataModel` is `minimum`, this array `MUST`
            be empty.
          example:
          - admin
          items:
            enum:
            - admin
            - tech
            - billing
            type: string
          type: array
        epp.secDNSInterfaces:
          description: |
            Which of the interfaces defined in Section 4 of [RFC
            5910](https://www.rfc-editor.org/rfc/rfc5910.html) the server supports
            (either `dsData` or `keyData`).
          enum:
          - dsData
          - keyData
          example: dsData
          type: string
        epp.serverIssuedClientCertificate01:
          description: |
            If the EPP server uses a private CA to issue client certificates, then
            a certificate generated using the CSR provided in the `epp.client01CSR`
            resource may be provided using this parameter. This certificate will only be
            used in conjunction with the `epp.clid01` and `epp.pwd01` credentials. If
            the server will accept ICANN's own client certificate, this parameter
            **MUST** be empty.
          example: rst_test_client_cert.pem
          pattern: ^[A-Za-z0-9-_\.]+$
          type: string
        epp.serverIssuedClientCertificate02:
          description: |
            If the EPP server uses a private CA to issue client certificates, then
            a certificate generated using the CSR provided in the `epp.client02CSR`
            resource may be provided using this parameter. This certificate will only be
            used in conjunction with the `epp.clid02` and `epp.pwd02` credentials. If
            the server will accept ICANN's own client certificate, this parameter
            **MUST** be omitted.
          example: rst_test_client_cert.pem
          pattern: ^[A-Za-z0-9-_\.]+$
          type: string
        epp.supportedContactElements:
          description: |
            In [RFC 5733](https://www.rfc-editor.org/rfc/rfc5733.html#section-3.2.1),
            the mandatory elements that **MUST** be included in contact `<create>`
            commands are `<name>`, `<city>`, `<cc>` and `<email>`. RFC 5733 also
            specifies a set of optional elements. To comply with RFC 5733, EPP
            servers **MUST** accept and process the mandatory elements, but **MAY**
            reject commands that contain optional elements.
        
            This input parameter should be used to indicate which of the optional
            elements the EPP server supports.
        
            If a value contains a colon (`:`), then the first part is the element name
            and the second part is an attribute name.
        
            Elements that are listed in this parameter **MAY** also be listed in the
            `epp.requiredContactElements` parameter.
        
            If the value of `general.registryDataModel` is `minimum`, this array `MUST`
            be empty.
          example:
          - org
          - street
          - sp
          - pc
          - voice
          - voice:ext
          items:
            enum:
            - org
            - street
            - sp
            - pc
            - voice
            - voice:ext
            - fax
            - fax:ext
            type: string
          type: array
        epp.supportedContactPostalInfoTypes:
          description: |
            This input parameter may be used to indicate, if the server supports contact
            objects, which values of the `type` attribute of `<contact:postalInfo>`
            elements are supported.
        
            A value of `both` indicates that both `int` and `loc` types are supported.
          enum:
          - int
          - loc
          - both
          example: int
          type: string
        general.registryDataModel:
          description: |
            This input parameter describes the data model(s) supported by the registry,
            determined in accordance with Section 7 of the Registration Data Policy. The
            possible values are:
        
            * `minimum`: the registry does not collect registrant contact information
              from registrars. This policy applies to all registrars.
            * `maximum`: the registry requires the transmission of registrant contact
              information from registrars for all registrations. This policy applies to
              all registrars.
            * `per-registrar`: the registry may or may not require transmission of
              registrant contact information, depending on whether there is an
              appropriate legal basis, and a data processing agreement is in place
              between the registry operator and the registrar. Therefore, the data model
              is determined per-registrar rather than globally.
        
            If the value of this parameter is `per-registrar`, then one of the registrar
            accounts specified by the `epp.clid01` and `epp.clid02` input parameters
            **MUST** be configured to use the minimum data model, and one **MUST** be
            configured to use the maximum data model. The `epp.clid01DataModel` and
            `epp.clid02DataModel` input parameters are used to identify the data model
            configured for each account.
          enum:
          - minimum
          - maximum
          - per-registrar
          example: minimum
          type: string
        idn.domainCreateExtension:
          description: |
            An EPP `<extension>` element containing the extension elements(s) which are
            required to succesfully perform a `<create>` command for an IDN domain.
        
            The special token `<!-- tag -->` will (if present) be replaced with the
            language tag of the domain being created.
        
            The XML namespace URI(s) of the child elements(s) of the `<extension>`
            element **MUST** appear in `<extURI>` elements in the `<greeting>`, and the
            extension(s) **MUST** be registered in the [EPP Extension
            Registry](https://www.iana.org/assignments/epp-extensions/epp-extensions.xhtml).
        
            If no extensions are required, this input parameter **MUST** be omitted. If
            provided, its content will not be validated until the test run occurs, and
            if found to be invalid, `EPP_INVALID_IDN_EXTENSION` error will be emitted.
          example: |
            <extension xmlns='urn:ietf:params:xml:ns:epp-1.0'>
              <create xmlns="our:epp:extension">
                <tag><!-- tag --></tag>
              </create>
              <!-- any additional element(s) here -->
            </extension>
          type: string
        integration.rdeSFTPDirectory:
          description: |
            The directory on the SFTP server where deposit files may be found.
          example: /path/to/deposits
          type: string
        integration.rdeSFTPHostname:
          description: The hostname of the operator's SFTP server.
          example: sftp.rsp.tech
          format: hostname
          type: string
        integration.rdeSFTPUsername:
          description: The username that can be used to connect to the SFTP server.
          example: icann
          type: string
        minimumRPMS.claimsTLD:
          description: |
            A TLD, or other registry-class zone, which has been configured to be in
            perpetual trademark claims.
          example: tmclaims.rsp.tech
          format: hostname
          type: string
        minimumRPMS.sunriseModel:
          description: |
            The sunrise models supported by the EPP server. The possible values for
            this parameter are:
        
              * `start-date`
              * `end-date`
        
              These models are explained in Section 2 of the [Trademark Clearinghouse -
              Rights Protection Mechanism
              Requirements](https://newgtlds.icann.org/sites/default/files/rpm-requirements-14may14-en.pdf)
              (PDF).
          enum:
          - start-date
          - end-date
          example: start-date
          type: string
        minimumRPMS.sunriseTLD:
          description: |
            A TLD, or other registry-class zone, which has been configured to be in
            perpetual sunrise.
          example: tmclaims.rsp.tech
          format: hostname
          type: string
        rdap.baseURLs:
          description: |
            The RDAP base URL(s) for the TLD(s). A base URL **MUST** be provided for
            each TLD being tested.
        
            The host name component of each URL **MUST** comply with the requirements
            for valid hostnames described in [RFC
            1123](https://www.rfc-editor.org/rfc/rfc1123.html), section 2.1.
            Additionally, all IDN labels in the host name **MUST** comply with IDNA2008.
          example:
          - baseURL: https://rdap.example.com/example/
            tld: example
          items:
            properties:
              baseURL:
                description: |
                  The RDAP Base URL. The URL **MUST** have trailing slash (`/`). If
                  specified, the port **MUST** be 443.
                format: url
                pattern: .+/$
                type: string
                x-constraints: '@ValidUrl'
              tld:
                description: The TLD or equivalent registry-class domain name.
                format: hostname
                type: string
            required:
            - tld
            - baseURL
            type: object
          minItems: 1
          type: array
        rdap.profileVersion:
          description: |
            The version of the gTLD RDAP Profile that is supported. For more information
            please see <https://www.icann.org/gtld-rdap-profile>.
        
            From 2025-08-21 onwards, gTLD registries **MUST** implement the
            February-2024 version of the gTLD RDAP profile.
          enum:
          - february-2024
          example: february-2024
          type: string
        rdap.testDomains:
          description: |
            The domain(s) that will be queried to validate domain responses. This
            input parameter is an array of domain names, which **MUST** include at least
            one domain name for each TLD being tested.
          example:
          - name: example.example
            tld: example
          items:
            properties:
              name:
                description: The domain name.
                format: hostname
                type: string
              tld:
                description: The TLD or equivalent registry-class domain name.
                format: hostname
                type: string
            required:
            - tld
            - name
            type: object
          minItems: 1
          type: array
        rdap.testEntities:
          description: |
            The entities(s) that will be queried to validate entity responses. This
            input parameter is an array of objects. At least one entity **MUST** be
            provided for each TLD being tested.
          example:
          - handle: 9995
            tld: example
          items:
            properties:
              handle:
                description: the entity handle.
                type: string
              tld:
                description: The TLD.
                format: hostname
                type: string
            required:
            - tld
            - handle
            type: object
          minItems: 1
          type: array
        rdap.testNameservers:
          description: |
            The nameservers(s) that will be queried to validate nameserver responses.
            This input parameter is an array of objects. At least one nameserver
            **MUST** be provided for each TLD being tested.
          example:
          - nameserver: ns1.example.com
            tld: example1
          - nameserver: ns1.example.com
            tld: example2
          items:
            properties:
              nameserver:
                description: The nameserver name.
                format: hostname
                type: string
              tld:
                description: The TLD.
                format: hostname
                type: string
            required:
            - tld
            - nameserver
            type: object
          minItems: 1
          type: array
        rde.depositFile:
          description: |
            an RDE deposit file. The TLD to which the deposit relates **MUST** match
            one of the TLDs that are associated with the test object.
          example: example_2023-10-04_full_S1_R0.ryde
          pattern: ^[A-Za-z0-9-_\.]+$
          type: string
        rde.publicKey:
          description: a PGP public key block
          example: rsp-rde-signing-key.asc
          pattern: ^[A-Za-z0-9-_\.]+$
          type: string
        rde.signatureFile:
          description: an ASCII-armoured OpenPGP signature covering the deposit file
          example: example_2023-10-04_fullL_S1_R0.sig
          pattern: ^[A-Za-z0-9-_\.]+$
          type: string
        srsgw.domainCreateExtension:
          description: |
            If a domain `<create>` command submitted through the SRS Gateway requires
            one or more extension in its `<extension>` element in order to succeed, then
            this parameter can be used to provide the XML syntax that should be used.
        
            This parameter should contain a valid EPP `<extension>` element containing
            all the extension elements that are required for the domain `<create>`
            command. This element will be imported into the domain `<create>` command
            frame before being sent to the server.
        
            The XML namespace URIs of the child elements of the `<extension>` element
            **MUST** appear in `<extURI>` elements in the `<greeting>` and the
            extensions **MUST** be registered in the
            [EPP Extension Registry](https://www.iana.org/assignments/epp-extensions/epp-extensions.xhtml).
        
            If no extensions are required, this input parameter **MUST** be omitted. If
            provided, it will not be validated until the test run occurs, at which point
            an `SRSGW_EPP_INVALID_EXTENSION` error will be emitted.
          example: |
            <extension xmlns='urn:ietf:params:xml:ns:epp-1.0'>
              <allocationToken xmlns='urn:ietf:params:xml:ns:allocationToken-1.0'>
                abc123
              </allocationToken>
            </extension>
          type: string
        srsgw.domainDeleteExtension:
          description: |
            This input parameter is used to provide the extension elements required to
            perform a domain `<update>` command through the SRS Gateway. Other than the
            different EPP command it relates to, it is identical to the
            `srsgw.domainCreateExtension` element.
          example: <!-- see srsgw.domainCreateExtension -->
          type: string
        srsgw.domainRenewExtension:
          description: |
            This input parameter is used to provide the extension elements required to
            perform a domain `<renew>` command through the SRS Gateway. Other than the
            different EPP command it relates to, it is identical to the
            `srsgw.domainCreateExtension` element.
          example: <!-- see srsgw.domainCreateExtension -->
          type: string
        srsgw.domainTransferApproveExtension:
          description: |
            This input parameter is used to provide the extension elements required to
            perform a domain `<transfer op="approve">` command through the SRS Gateway.
            Other than the different EPP command it relates to, it is
            identical to the `srsgw.domainCreateExtension` element.
          example: <!-- see srsgw.domainCreateExtension -->
          type: string
        srsgw.domainTransferRequestExtension:
          description: |
            This input parameter is used to provide the extension elements required to
            perform a domain `<transfer op="request">` command through the SRS Gateway.
            Other than the different EPP command it relates to, it is
            identical to the `srsgw.domainCreateExtension` element.
          example: <!-- see srsgw.domainCreateExtension -->
          type: string
        srsgw.eppClid01:
          description: |
            The username used to log in to the SRS Gateway EPP server. This username
            must correspond to the same entity as that of the `epp.clid01` input
            parameter.
          example: clid-01
          minLength: 3
          type: string
        srsgw.eppClid01DataModel:
          description: |
            The data model for the `srsgw.eppClid01` client. This may be omitted and
            will in any case be ignored unless the value of the
            `srsgw.registryDataModel` input parameter is `per-registrar`.
        
            If set, then the value of this input parameter **MUST** be different from
            the value of the `srsgw.eppClid02DataModel` input parameter.
          enum:
          - minimum
          - maximum
          example: minimum
          type: string
        srsgw.eppClid02:
          description: The username used for transfer tests.
          example: clid-02
          type: string
        srsgw.eppClid02DataModel:
          description: |
            The data model for the `srsgw.eppClid02` client. This may be omitted and
            will in any case be ignored unless the value of the
            `srsgw.registryDataModel` input parameter is `per-registrar`.
        
            If set, then the value of this input parameter **MUST** be different from
            the value of the `srsgw.eppClid01DataModel` input parameter.
          enum:
          - minimum
          - maximum
          example: minimum
          type: string
        srsgw.eppHostName:
          description: The fully-qualified domain name of the SRS Gateway EPP server.
          example: epp.rsp.tech
          format: hostname
          type: string
        srsgw.eppPwd01:
          description: |
            The username used to log in to the SRS Gateway EPP server. This username
            must correspond to the same entity as that of the `epp.clid02` input
            parameter.
          example: foo2bar
          type: string
        srsgw.eppPwd02:
          description: The password used for transfer tests.
          example: foo3bar
          type: string
        srsgw.eppRequiredContactElements:
          description: |
            This input parameter has the same semantics as the
            `epp.requiredContactElements` input parameter but relates to the SRS Gateway
            EPP Server.
          example:
          - org
          - street
          - sp
          - pc
          - voice
          - voice:ext
          items:
            enum:
            - org
            - street
            - sp
            - pc
            - voice
            - voice:ext
            - fax
            - fax:ext
            type: string
          type: array
        srsgw.eppRequiredContactTypes:
          description: |
            This input parameter has the same semantics as the
            `epp.requiredContactTypes` input parameter but relates to the SRS Gateway
            EPP Server.
          example:
          - admin
          items:
            enum:
            - admin
            - tech
            - billing
            type: string
          type: array
        srsgw.eppSupportedContactElements:
          description: |
            This input parameter has the same semantics as the
            `epp.supportedContactElements` input parameter but relates to the SRS Gateway
            EPP Server.
          example:
          - org
          - street
          - sp
          - pc
          - voice
          - voice:ext
          items:
            enum:
            - org
            - street
            - sp
            - pc
            - voice
            - voice:ext
            - fax
            - fax:ext
            type: string
          type: array
        srsgw.loginExtension:
          description: |
            An EPP `<extension>` element containing the extension elements(s) which are
            required to succesfully log in to the EPP server.
        
            The XML namespace URI(s) of the child elements(s) of the `<extension>`
            element **MUST** appear in `<extURI>` elements in the `<greeting>`, and the
            extension(s) **MUST** be registered in the [EPP Extension
            Registry](https://www.iana.org/assignments/epp-extensions/epp-extensions.xhtml).
        
            If no extensions are required, this input parameter **MUST** be omitted. If
            provided, its content will not be validated until the test run occurs, and
            if found to be invalid, the `SRSGW_EPP_INVALID_EXTENSION` error will be
            emitted.
        
            **Note:** the RST v2.0 service natively supports the [Login
            Security extension (RFC
            8807)](https://www.rfc-editor.org/rfc/rfc8807.html). If your EPP server
            implements this extension, you **MUST NOT** include it in this input
            parameter.
          example: |
            <extension xmlns='urn:ietf:params:xml:ns:epp-1.0'>
              <login xmlns="our:epp:extension">
                <!-- extension element(s) go here
              </login>
              <!-- any additional element(s) here -->
            </extension>
          type: string
        srsgw.rdapBaseURLs:
          description: |
            The RDAP base URL(s) for the TLD(s).
        
            The host name component of each URL **MUST** comply with the requirements
            for valid hostnames described in [RFC
            1123](https://www.rfc-editor.org/rfc/rfc1123.html), section 2.1.
            Additionally, all IDN labels in the host name **MUST** comply with IDNA2008.
        
            If an RDAP Base URL includes a port, it **MUST** be 443.
          example:
          - baseURL: https://rdap.example.com/example/
            tld: example
          items:
            properties:
              baseURL:
                description: |
                  The RDAP Base URL. The URL **MUST** have trailing slash (`/`).
                format: url
                pattern: .+/$
                type: string
                x-constraints: '@ValidUrl'
              tld:
                description: The TLD or equivalent registry-class domain name.
                format: hostname
                type: string
            required:
            - tld
            - baseURL
            type: object
          minItems: 1
          type: array
        srsgw.registryDataModel:
          description: |
            This input parameter identifies the data model for the SRS Gateway, which
            may be different to that of the Primary EPP server (for example, because the
            Gateway requires registrant information in order to verify their identity).
        
            It has identical semantics to the `general.registryDataModel` input
            parameter.
          enum:
          - minimum
          - maximum
          - per-registrar
          example: minimum
          type: string
        srsgw.serverIssuedClientCertificate01:
          description: |
            If the EPP server uses a private CA to issue client certificates, then
            a certificate generated using the CSR provided in the `epp.client01CSR` may
            be provided using this parameter. This certificate will only be used in
            conjunction with the `srsgw.eppClid01` and `srsgw.eppPwd01` credentials.
            If the server will accept ICANN's own client certificate, this parameter
            **SHOULD** be omitted.
          example: cert.pem
          pattern: ^[A-Za-z0-9-_\.]+$
          type: string
        srsgw.serverIssuedClientCertificate02:
          description: |
            If the EPP server uses a private CA to issue client certificates, then
            a certificate generated using the CSR provided in the `epp.client02CSR` may
            be provided using this parameter. This certificate will only be used in
            conjunction with the `srsgw.eppClid02` and `srsgw.eppPwd02` credentials.
            If the server will accept ICANN's own client certificate, this parameter
            **SHOULD** be omitted.
          example: cert.pem
          pattern: ^[A-Za-z0-9-_\.]+$
          type: string
      required: []

    testRunLog:
      description: An object representing a discrete test run.
      type: object
      required:
        - runID
        - dateStarted
        - result
        - log
      properties:
        runID:
          description: unique ID for this test run.
          type: string
          example: 3ed892dd-2b29-4f59-b024-653345067547
        dateStarted:
          description: The date and time the run started.
          type: string
          format: date-time
        dateCompleted:
          description: |
            The date and time the run finished. For `in-progress` runs, this
            property will be omitted.
          type: string
          format: date-time
        result:
          $ref: "#/components/schemas/testResult"
        log:
          description: an array of test case log objects.
          type: array
          minItems: 0
          items:
            $ref: "#/components/schemas/testCaseLog"

    testCaseLog:
      description: A detailed log of an individual test case.
      type: object
      required:
        - caseID
        - caseRef
        - result
        - dateStarted
        - log
      properties:
        caseID:
          description: The Test Case ID.
          type: string
          enum:
            - dns-address01
            - dns-address02
            - dns-address03
            - dns-connectivity01
            - dns-connectivity02
            - dns-connectivity03
            - dns-consistency02
            - dns-consistency03
            - dns-consistency04
            - dns-consistency05
            - dns-consistency06
            - dns-delegation01
            - dns-delegation02
            - dns-delegation03
            - dns-delegation04
            - dns-delegation05
            - dns-delegation07
            - dns-nameserver01
            - dns-nameserver02
            - dns-nameserver04
            - dns-nameserver05
            - dns-nameserver06
            - dns-nameserver08
            - dns-nameserver09
            - dns-nameserver10
            - dns-nameserver11
            - dns-nameserver12
            - dns-nameserver13
            - dns-syntax05
            - dns-syntax06
            - dns-syntax07
            - dns-zone07
            - dns-zone10
            - dns-zz-consistency
            - dns-zz-idna2008-compliance
            - dnssec-01
            - dnssec-02
            - dnssec-03
            - dnssec-04
            - dnssec-05
            - dnssec-06
            - dnssec-08
            - dnssec-09
            - dnssec-10
            - dnssec-13
            - dnssec-14
            - dnssec-91
            - dnssec-92
            - dnssec-93
            - dnssecOps01-ZSKRollover
            - dnssecOps02-KSKRollover
            - dnssecOps03-AlgorithmRollover
            - epp-01
            - epp-02
            - epp-03
            - epp-04
            - epp-05
            - epp-06
            - epp-07
            - epp-08
            - epp-09
            - epp-10
            - epp-11
            - epp-12
            - epp-13
            - epp-14
            - epp-15
            - epp-16
            - epp-17
            - epp-18
            - epp-19
            - epp-20
            - epp-21
            - epp-23
            - epp-24
            - epp-25
            - epp-26
            - epp-27
            - idn-01
            - idn-02
            - integration-01
            - integration-02
            - integration-03
            - integration-04
            - integration-05
            - minimumRPMs-01
            - minimumRPMs-02
            - minimumRPMs-03
            - rdap-01
            - rdap-02
            - rdap-03
            - rdap-04
            - rdap-05
            - rdap-06
            - rdap-07
            - rdap-08
            - rdap-09
            - rdap-10
            - rdap-91
            - rdap-92
            - rde-01
            - rde-02
            - rde-03
            - rde-04
            - rde-05
            - rde-06
            - rde-07
            - rde-08
            - rde-09
            - rde-10
            - rde-11
            - rde-12
            - rde-13
            - rde-14
            - srsgw-01
            - srsgw-02
            - srsgw-03
            - srsgw-04
            - srsgw-05
            - srsgw-06
            - srsgw-08
            - srsgw-09
            - srsgw-10
            - srsgw-11
            - srsgw-12
            - srsgw-13
            - srsgw-14
            - srsgw-15

        caseRef:
          description: A link to the test case specification.
          type: string
          format: url
          x-constraints: "@ValidUrl"
          example: https://icann.github.io/rst-test-specs/rst-test-specs.html#Test-Case-dns-address01

        result:
          description: |
            The result of the test. The possible values are:
            * `pass` - the test passed.
            * `fail` - the test was not passed.
            * `exception` - an error occurred which meant a result could not be
              determined. This indicates an issue on the RST test system side,
              not the test subject's.
            * `skipped` - the test case was not applicable and was not carried
              out.
            * `aborted` - the test case was aborted before it could complete.
          type: string
          enum:
            - pass
            - fail
            - exception
            - skipped
            - aborted
        dateStarted:
          description: date/time when the test case started.
          type: string
          format: date-time
        dateCompleted:
          description: date/time when the test case finished.
          type: string
          format: date-time
        log:
          description: detailed test logs
          type: array
          minItems: 0
          items:
            $ref: "#/components/schemas/testCaseLogMessage"

    testCaseLogMessage:
      description: A log message.
      type: object
      required:
        - severity
        - timestamp
        - message
      properties:
        code:
          description: The error code (if any).
          type: string
          enum:
            - DNSSEC_DNS_QUERY_ERROR
            - DNSSEC_INVALID_DIGEST_ALGORITHM
            - DNSSEC_INVALID_SIGNING_ALGORITHM
            - DNSSEC_NSEC3_ITERATIONS_IS_NOT_ZERO
            - DNSSEC_NSEC3_SALT_IS_NOT_EMPTY
            - DNSSEC_OPS_ALGORITHM_ROLLOVER_CHAIN_OF_TRUST_BROKEN
            - DNSSEC_OPS_ALGORITHM_ROLLOVER_NOT_COMPLETED
            - DNSSEC_OPS_DNS_QUERY_FAILED_TOO_MANY_TIMES
            - DNSSEC_OPS_INVALID_ALGORITHM
            - DNSSEC_OPS_KSK_ROLLOVER_CHAIN_OF_TRUST_BROKEN
            - DNSSEC_OPS_KSK_ROLLOVER_NOT_COMPLETED
            - DNSSEC_OPS_XFR_FAILED_TOO_MANY_TIMES
            - DNSSEC_OPS_ZONE_IS_INVALID
            - DNSSEC_OPS_ZSK_ROLLOVER_CHAIN_OF_TRUST_BROKEN
            - DNSSEC_OPS_ZSK_ROLLOVER_NOT_COMPLETED
            - DNS_CONSISTENCY_QUERY_FAILED
            - DNS_IDNA2008_INVALID_MNAME
            - DNS_IDNA2008_INVALID_NS_NSDNAME
            - DNS_IDNA2008_INVALID_RNAME
            - DNS_IDNA2008_QUERY_FAILED
            - DNS_INCONSISTENT_RESPONSES
            - EPP_CONTACT_CHECK_INVALID_CONTACT_ID_INCORRECT_AVAIL
            - EPP_CONTACT_CHECK_REGISTERED_CONTACT_ID_INCORRECT_AVAIL
            - EPP_CONTACT_CHECK_VALID_CONTACT_ID_INCORRECT_AVAIL
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CC
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CITY
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_EMAIL
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX_EXT
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ID
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_NAME
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ORG
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_PC
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_POSTALINFO_TYPE
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_SP
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STREET
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE
            - EPP_CONTACT_CREATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE_EXT
            - EPP_CONTACT_CREATE_INFO_RESPONSE_NOT_1000
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_CC
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_CITY
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_EMAIL
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_FAX
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_NAME
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_EMPTY_VOICE
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_CC
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_CITY
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_EMAIL
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_FAX
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_ID
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_NAME
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_ORG
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_POSTALINFO_TYPE
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_STREET
            - EPP_CONTACT_CREATE_SERVER_ACCEPTS_INVALID_VOICE
            - EPP_CONTACT_DELETE_OBJECT_STILL_EXISTS
            - EPP_CONTACT_DELETE_RESPONSE_NOT_1000_OR_1001
            - EPP_CONTACT_INFO_RESPONSE_NOT_REJECTED
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CC
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_CITY
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_EMAIL
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_FAX_EXT
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ID
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_NAME
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_ORG
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_PC
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_POSTALINFO_TYPE
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_SP
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STATUS
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_STREET
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_MISSING_OR_INCORRECT_VOICE_EXT
            - EPP_CONTACT_UPDATE_INFO_RESPONSE_NOT_1000
            - EPP_CONTACT_UPDATE_RESPONSE_NOT_REJECTED
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_CC
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_CITY
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_EMPTY_NAME
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_CC
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_CITY
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_EMAIL
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_FAX
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_ORG
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_PC
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_POSTALINFO_TYPE
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_SP
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_STREET
            - EPP_CONTACT_UPDATE_SERVER_ACCEPTS_INVALID_VOICE
            - EPP_DNS_RESOLUTION_ERROR
            - EPP_DOMAIN_CHECK_INVALID_DOMAIN_INCORRECT_AVAIL
            - EPP_DOMAIN_CHECK_REGISTERED_DOMAIN_INCORRECT_AVAIL
            - EPP_DOMAIN_CHECK_VALID_DOMAIN_INCORRECT_AVAIL
            - EPP_DOMAIN_CREATE_INFO_RESPONSE_INVALID_ROID
            - EPP_DOMAIN_CREATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_AUTHINFO
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITHOUT_GLUE
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITH_INVALID_GLUE
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_DNSSEC_DATA
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_DOMAIN_NAME
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_HOST_OBJECT
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_INVALID_PERIOD
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_MISSING_REGISTRANT
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NON_EXISTENT_HOST_OBJECT
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NON_EXISTENT_REGISTRANT
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_NO_REGISTRANT_FOR_THICK_REGISTRY
            - EPP_DOMAIN_CREATE_SERVER_ACCEPTS_REGISTRANT_FOR_THIN_REGISTRY
            - EPP_DOMAIN_CREATE_SERVER_INCORRECTLY_ACCEPTS_HOST_ATTRIBUTES
            - EPP_DOMAIN_CREATE_SERVER_INCORRECTLY_ACCEPTS_HOST_OBJECTS
            - EPP_DOMAIN_DELETE_INFO_RESPONSE_OBJECT_NOT_PENDING_DELETE
            - EPP_DOMAIN_DELETE_INFO_RESPONSE_OBJECT_STILL_EXISTS
            - EPP_DOMAIN_TRANSFER_REQUEST_FAILED
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_DNSSEC_DATA
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_HOST_ATTRIBUTE
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_HOST_OBJECT
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_REGISTRANT
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_MISSING_STATUS_CODE
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_DNSSEC_DATA
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_HOST_ATTRIBUTE
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_HOST_OBJECT
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_REGISTRANT
            - EPP_DOMAIN_UPDATE_INFO_RESPONSE_UNEXPECTED_STATUS_CODE
            - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_HOST_ATTRIBUTES_WITHOUT_GLUE
            - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_DNSSEC_DATA
            - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_HOST_ATTRIBUTES
            - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
            - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_NON_EXISTENT_CONTACT_OBJECT
            - EPP_DOMAIN_UPDATE_SERVER_ACCEPTS_NON_EXISTENT_HOST_OBJECT
            - EPP_DOMAIN_UPDATE_SERVER_INCORRECTLY_ACCEPTS_HOST_ATTRIBUTES
            - EPP_DOMAIN_UPDATE_SERVER_INCORRECTLY_ACCEPTS_HOST_OBJECTS
            - EPP_GENERIC_COMMAND_ERROR
            - EPP_GREETING_DOES_NOT_MATCH
            - EPP_GREETING_INVALID_LANG
            - EPP_GREETING_MISSING_EN_LANG
            - EPP_GREETING_MISSING_EXTURI
            - EPP_GREETING_MISSING_OBJURI
            - EPP_GREETING_RECOMMENDED_EXTENSION_MISSING
            - EPP_GREETING_SVDATE_INVALID
            - EPP_GREETING_SVID_INVALID
            - EPP_GREETING_UNEXPECTED_EXTURI
            - EPP_GREETING_UNEXPECTED_OBJURI
            - EPP_GREETING_VERSION_INVALID
            - EPP_HOST_CHECK_INVALID_HOST_INCORRECT_AVAIL
            - EPP_HOST_CHECK_REGISTERED_HOST_INCORRECT_AVAIL
            - EPP_HOST_CHECK_VALID_HOST_INCORRECT_AVAIL
            - EPP_HOST_CREATE_INCORRECT_CLID
            - EPP_HOST_CREATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
            - EPP_HOST_CREATE_INFO_RESPONSE_OBJECT_DOES_NOT_EXIST
            - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_HOSTNAME
            - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_IPV4_ADDRESS
            - EPP_HOST_CREATE_SERVER_ACCEPTS_INVALID_IPv6_ADDRESS
            - EPP_HOST_DELETE_INFO_RESPONSE_OBJECT_STILL_EXISTS
            - EPP_HOST_DELETE_RESPONSE_NOT_1000_OR_1001
            - EPP_HOST_RENAME_OBJECT_NOT_RENAMED
            - EPP_HOST_RENAME_SERVER_ACCEPTS_INVALID_HOSTNAME
            - EPP_HOST_RENAME_SERVER_ACCEPTS_RENAME_TO_ANOTHER_REGISTRARS_DOMAIN
            - EPP_HOST_RENAME_SERVER_ACCEPTS_RENAME_TO_NONEXISTENT_DOMAIN
            - EPP_HOST_RENAME_SERVER_INCORRECTLY_ACCEPTS_RENAME
            - EPP_HOST_RENAME_SERVER_REJECTS_EXTERNAL_NAME
            - EPP_HOST_RENAME_SERVER_UNEXPECTEDLY_REJECTS_RENAME
            - EPP_HOST_UPDATE_AUTHZ_ERROR
            - EPP_HOST_UPDATE_INFO_RESPONSE_MISSING_OBJECT_PROPERTIES
            - EPP_HOST_UPDATE_INFO_RESPONSE_OBJECT_DOES_NOT_EXIST
            - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_IPV4_ADDRESS
            - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_IPv6_ADDRESS
            - EPP_HOST_UPDATE_SERVER_ACCEPTS_INVALID_STATUS_CODE
            - EPP_INTEGRITY_SERVER_ACCEPTS_DELETE_FOR_LINKED_CONTACT_OBJECT
            - EPP_INTEGRITY_SERVER_ACCEPTS_DELETE_FOR_LINKED_HOST_OBJECT
            - EPP_INVALID_EXTENSION
            - EPP_INVALID_IDN_EXTENSION
            - EPP_LOGIN_ERROR
            - EPP_LOGIN_UNEXPECTEDLY_FAILED
            - EPP_LOGIN_UNEXPECTEDLY_SUCCEEDED
            - EPP_MISSING_AAAA_RECORDS
            - EPP_MISSING_A_RECORDS
            - EPP_NO_GREETING_RECEIVED
            - EPP_NO_SERVICE_PORTS_REACHABLE
            - EPP_RENEW_INFO_RESPONSE_MISSING_OR_INVALID_RGP_STATUS
            - EPP_RENEW_INFO_RESPONSE_UNEXPECTED_EXPIRY_DATE
            - EPP_RENEW_SERVER_ACCEPTS_INVALID_CURRENT_EXPIRY_DATE
            - EPP_RENEW_SERVER_ACCEPTS_INVALID_PERIOD
            - EPP_SCHEMA_VALIDATION_ERROR
            - EPP_SERVER_ACCEPTS_INTERNAL_HOST_WITH_GLUE
            - EPP_SERVER_ALLOWS_DELEGATION_TO_GLUELESS_HOST
            - EPP_SERVICE_PORT_NOT_CONSISTENT
            - EPP_SERVICE_PORT_UNREACHABLE
            - EPP_TLS_BAD_CIPHER
            - EPP_TLS_CERTIFICATE_CHAIN_MISSING
            - EPP_TLS_CERTIFICATE_HOSTNAME_MISMATCH
            - EPP_TLS_CONNECTION_ERROR
            - EPP_TLS_EXPIRED_CERTIFICATE
            - EPP_TLS_FORBIDDEN_PROTOCOL_SUPPORTED
            - EPP_TLS_REQUIRED_PROTOCOL_NOT_SUPPORTED
            - EPP_TLS_UNTRUSTED_CERTIFICATE
            - EPP_TRANSFER_INFO_RESPONSE_AUTHINFO_NOT_RESET
            - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_RGP_STATUS
            - EPP_TRANSFER_INFO_RESPONSE_MISSING_OR_INVALID_STATUS_CODE
            - EPP_TRANSFER_INFO_RESPONSE_UNEXPECTED_EXPIRY_DATE
            - EPP_TRANSFER_NOT_PROCESSED
            - EPP_TRANSFER_SERVER_ACCEPTS_INCORRECT_AUTHINFO
            - EPP_TRANSFER_SERVER_ACCEPTS_INSECURE_AUTHINFO
            - EPP_TRANSFER_SERVER_ACCEPTS_INVALID_PERIOD
            - EPP_TRANSFER_SERVER_PROCESSED_REJECTED_TRANSFER
            - EPP_TRANSFER_SERVER_REJECTS_SECURE_AUTHINFO
            - EPP_UNEXPECTED_COMMAND_FAILURE
            - EPP_UNEXPECTED_COMMAND_SUCCESS
            - EPP_UNEXPECTED_HOST_CREATE_SUCCESS
            - EPP_XML_PARSE_ERROR
            - IDN_IDNONLY_TLD_ACCEPTS_ASCII_DOMAIN
            - IDN_SERVER_ACCEPTS_INVALID_LABEL
            - IDN_SERVER_REJECTS_VALID_LABEL
            - IDN_VARIANT_LABEL_NOT_BLOCKED
            - IDN_VARIANT_SERVER_ACCEPTS_VARIANT_CREATE_FROM_INCORRECT_REGISTRAR
            - IDN_VARIANT_SERVER_ACCEPTS_VARIANT_CREATE_WITH_INCORRECT_REGISTRANT
            - IDN_VARIANT_SERVER_REJECTS_VARIANT_CREATE_FROM_SAME_REGISTRAR
            - IDN_VARIANT_SERVER_REJECTS_VARIANT_CREATE_WITH_SAME_REGISTRANT
            - INTEGRATION_DNS_QUERY_FAILED
            - INTEGRATION_DOMAIN_NOT_PRESENT_IN_DNS
            - INTEGRATION_DOMAIN_NOT_PRESENT_IN_RDAP
            - INTEGRATION_DOMAIN_NOT_PRESENT_IN_RDE
            - INTEGRATION_EXPECTED_GLUE_NOT_OBSERVED
            - INTEGRATION_LINKED_HOST_OBJECTS_NOT_OBSERVED
            - INTEGRATION_RDAP_REQUEST_FAILED
            - INTEGRATION_RDE_SFTP_SERVER_AUTHENTICATION_ERROR
            - INTEGRATION_RDE_SFTP_SERVER_UNREACHABLE
            - INTEGRATION_UNEXPECTED_GLUE_OBSERVED
            - INTEGRATION_UNLINKED_HOST_OBJECTS_OBSERVED
            - RDAP_DOMAIN_HEAD_FAILED
            - RDAP_DOMAIN_RESPONSE_VALIDATION_FAILED
            - RDAP_ENTITY_HEAD_FAILED
            - RDAP_ENTITY_RESPONSE_VALIDATION_FAILED
            - RDAP_HELP_RESPONSE_VALIDATION_FAILED
            - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_DOMAIN
            - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_ENTITY
            - RDAP_INVALID_RESPONSE_FOR_NON_EXISTENT_NAMESERVER
            - RDAP_NAMESERVER_HEAD_FAILED
            - RDAP_NAMESERVER_RESPONSE_VALIDATION_FAILED
            - RDAP_QUERY_FAILED
            - RDAP_SERVICE_PORT_NOT_CONSISTENT
            - RDAP_TLS_BAD_CIPHER
            - RDAP_TLS_CERTIFICATE_CHAIN_MISSING
            - RDAP_TLS_CERTIFICATE_HOSTNAME_MISMATCH
            - RDAP_TLS_DNS_RESOLUTION_ERROR
            - RDAP_TLS_EXPIRED_CERTIFICATE
            - RDAP_TLS_FORBIDDEN_PROTOCOL_SUPPORTED
            - RDAP_TLS_NO_SERVICE_PORTS_REACHABLE
            - RDAP_TLS_REQUIRED_PROTOCOL_NOT_SUPPORTED
            - RDAP_TLS_SERVICE_PORT_UNREACHABLE
            - RDAP_TLS_UNTRUSTED_CERTIFICATE
            - RDE_CONTACT_HAS_INVALID_CC
            - RDE_CONTACT_HAS_INVALID_EMAIL
            - RDE_CONTACT_HAS_INVALID_ROID
            - RDE_CONTACT_HAS_MULTIPLE_POSTALINFO_TYPES
            - RDE_CONTACT_HAS_NON_UNIQUE_ID
            - RDE_CONTACT_HAS_NON_UNIQUE_ROID
            - RDE_CONTACT_HAS_UNKNOWN_ACRR
            - RDE_CONTACT_HAS_UNKNOWN_CLID
            - RDE_CONTACT_HAS_UNKNOWN_CRRR
            - RDE_CONTACT_HAS_UNKNOWN_RERR
            - RDE_CONTACT_HAS_UNKNOWN_UPRR
            - RDE_CONTACT_OBJECT_MISSING
            - RDE_DECRYPTION_FAILED
            - RDE_DOMAIN_HAS_INVALID_ACRR
            - RDE_DOMAIN_HAS_INVALID_CLID
            - RDE_DOMAIN_HAS_INVALID_CRDATE
            - RDE_DOMAIN_HAS_INVALID_CRRR
            - RDE_DOMAIN_HAS_INVALID_EXDATE
            - RDE_DOMAIN_HAS_INVALID_NAME
            - RDE_DOMAIN_HAS_INVALID_REGISTRANT
            - RDE_DOMAIN_HAS_INVALID_RERR
            - RDE_DOMAIN_HAS_INVALID_ROID
            - RDE_DOMAIN_HAS_INVALID_STATUS
            - RDE_DOMAIN_HAS_INVALID_UPRR
            - RDE_DOMAIN_HAS_MISSING_CLID
            - RDE_DOMAIN_HAS_MISSING_CONTACT
            - RDE_DOMAIN_HAS_MISSING_CRDATE
            - RDE_DOMAIN_HAS_MISSING_EXDATE
            - RDE_DOMAIN_HAS_MISSING_NAMESERVER
            - RDE_DOMAIN_HAS_MISSING_REGISTRANT
            - RDE_DOMAIN_HAS_MISSING_ROID
            - RDE_DOMAIN_HAS_MISSING_STATUS
            - RDE_DOMAIN_HAS_NON_UNIQUE_NAME
            - RDE_DOMAIN_HAS_NON_UNIQUE_ROID
            - RDE_DOMAIN_HAS_UNEXPECTED_HOST_ATTRIBUTES
            - RDE_DOMAIN_HAS_UNEXPECTED_HOST_OBJECTS
            - RDE_DOMAIN_OBJECT_MISSING
            - RDE_GREETING_DOES_NOT_MATCH
            - RDE_HOST_HAS_INVALID_CLID
            - RDE_HOST_HAS_INVALID_IP_ADDRESS
            - RDE_HOST_HAS_INVALID_NAME
            - RDE_HOST_HAS_INVALID_ROID
            - RDE_HOST_HAS_INVALID_STATUS
            - RDE_HOST_HAS_MISSING_CLID
            - RDE_HOST_HAS_MISSING_IP_ADDRESS
            - RDE_HOST_HAS_MISSING_ROID
            - RDE_HOST_HAS_MISSING_STATUS
            - RDE_HOST_HAS_NON_UNIQUE_NAME
            - RDE_HOST_HAS_NON_UNIQUE_ROID
            - RDE_HOST_OBJECT_MISSING
            - RDE_IDN_OBJECT_INVALID
            - RDE_IDN_OBJECT_MISSING
            - RDE_IDN_OBJECT_UNEXPECTED
            - RDE_INVALID_CSV
            - RDE_INVALID_FILENAME
            - RDE_INVALID_SIGNATURE
            - RDE_MENU_AND_HEADER_URIS_DIFFER
            - RDE_MISSING_EPP_PARAMS_OBJECT
            - RDE_MISSING_FILES
            - RDE_MISSING_OBJECT_URI
            - RDE_NNDN_CONFLICTS_WITH_DOMAIN
            - RDE_OBJECT_COUNT_MISMATCH
            - RDE_OBJECT_HAS_MIXED_TYPES
            - RDE_POLICY_OBJECT_INVALID
            - RDE_POLICY_OBJECT_MISSING
            - RDE_POLICY_OBJECT_MISSING_OBJECTS
            - RDE_REGISTRAR_HAS_INVALID_GURID
            - RDE_REGISTRAR_HAS_INVALID_ID
            - RDE_REGISTRAR_HAS_INVALID_NAME
            - RDE_REGISTRAR_HAS_MISSING_GURID
            - RDE_REGISTRAR_HAS_MISSING_ID
            - RDE_REGISTRAR_HAS_MISSING_NAME
            - RDE_REGISTRAR_OBJECT_MISSING
            - RDE_SCHEMA_VALIDATION_ERROR
            - RDE_UNEXPECTED_OBJECT
            - RDE_UNEXPECTED_OBJECT_URI
            - RDE_XML_PARSE_ERROR
            - RPMS_INVALID_CLAIMS_KEY
            - RPMS_MISSING_CLAIMS_KEY
            - RPMS_SUNRISE_CREATE_INFO_OBJECT_DOES_NOT_EXIST
            - RPMS_SUNRISE_CREATE_INFO_OBJECT_IS_HAS_MISSING_OR_INVALID_PROPERTIES
            - RPMS_SUNRISE_CREATE_UNEXPECTED_FAILURE_USING_VALID_SMD
            - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_INCORRECT_SMD
            - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_SMD
            - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_REVOKED_SMD
            - RPMS_SUNRISE_CREATE_UNEXPECTED_SUCCESS_USING_SMD_WITH_REVOKED_SIGNATURE
            - RPMS_TRADEMARK_CREATE_INFO_OBJECT_DOES_NOT_EXIST
            - RPMS_TRADEMARK_CREATE_INFO_OBJECT_IS_HAS_MISSING_OR_INVALID_PROPERTIES
            - RPMS_TRADEMARK_CREATE_UNEXPECTED_FAILURE_USING_VALID_NOTICE_ID
            - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_EXPIRED_NOTICE_ID
            - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_ACCEPTANCE_DATE
            - RPMS_TRADEMARK_CREATE_UNEXPECTED_SUCCESS_USING_INVALID_NOTICE_ID
            - RPMS_UNEXPECTED_CLAIMS_KEY
            - RST_EXCEPTION
            - RST_REMOVED_ERROR
            - SRSGW_CONTACT_CREATE_FAILED
            - SRSGW_CONTACT_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
            - SRSGW_CONTACT_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
            - SRSGW_DOMAIN_CREATE_FAILED
            - SRSGW_DOMAIN_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
            - SRSGW_DOMAIN_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
            - SRSGW_DOMAIN_DELETE_DOMAIN_NOT_PENDINGDELETE
            - SRSGW_DOMAIN_DELETE_FAILED
            - SRSGW_DOMAIN_DELETE_RGP_STATUS_NOT_REDEMPTIONPERIOD
            - SRSGW_DOMAIN_RENEW_FAILED
            - SRSGW_DOMAIN_RENEW_INCORRECT_EXPIRY_DATE
            - SRSGW_DOMAIN_RENEW_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
            - SRSGW_DOMAIN_TRANSFER_APPROVAL_FAILED
            - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_HAS_INCORRECT_CLID
            - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
            - SRSGW_DOMAIN_TRANSFER_APPROVAL_OBJECT_STILL_PENDING_TRANSFER
            - SRSGW_DOMAIN_TRANSFER_REQUEST_FAILED
            - SRSGW_DOMAIN_TRANSFER_REQUEST_OBJECT_NOT_PENDING_TRANSFER
            - SRSGW_DOMAIN_TRANSFER_REQUEST_OBJECT_NOT_UPDATED_WITHIN_DEADLINE
            - SRSGW_EPP_CONTACT_DELETE_FAILED
            - SRSGW_EPP_CONTACT_DELETE_OBJECT_STILL_EXISTS
            - SRSGW_EPP_CONTACT_UPDATE_FAILED
            - SRSGW_EPP_CONTACT_UPDATE_INFO_RESPONSES_DIFFER
            - SRSGW_EPP_HOST_DELETE_FAILED
            - SRSGW_EPP_HOST_DELETE_OBJECT_STILL_EXISTS
            - SRSGW_EPP_HOST_UPDATE_FAILED
            - SRSGW_EPP_HOST_UPDATE_INFO_RESPONSES_DIFFER
            - SRSGW_EPP_INVALID_EXTENSION
            - SRSGW_HOST_CREATE_FAILED
            - SRSGW_HOST_CREATE_OBJECT_HAS_MISSING_OR_INVALID_PROPERTIES
            - SRSGW_HOST_CREATE_OBJECT_NOT_FOUND_WITHIN_DEADLINE
            - SRSGW_RDAP_DNS_RESOLUTION_ERROR
            - SRSGW_RDAP_QUERY_FAILED
            - SRSGW_RDAP_RESPONSES_DIFFER
            - SRSGW_RDAP_SERVICE_PORT_UNREACHABLE
            - SRSGW_RDAP_TLS_CONNECTION_ERROR
            - ZM_A01_ADDR_NOT_GLOBALLY_REACHABLE
            - ZM_A01_DOCUMENTATION_ADDR
            - ZM_A01_LOCAL_USE_ADDR
            - ZM_A01_NO_GLOBALLY_REACHABLE_ADDR
            - ZM_A01_NO_NAME_SERVERS_FOUND
            - ZM_AAAA_BAD_RDATA
            - ZM_AAAA_QUERY_DROPPED
            - ZM_AAAA_UNEXPECTED_RCODE
            - ZM_A_UNEXPECTED_RCODE
            - ZM_BREAKS_ON_EDNS
            - ZM_CAN_NOT_BE_RESOLVED
            - ZM_CASE_QUERIES_RESULTS_DIFFER
            - ZM_CASE_QUERY_DIFFERENT_ANSWER
            - ZM_CASE_QUERY_DIFFERENT_RC
            - ZM_CASE_QUERY_NO_ANSWER
            - ZM_CHILD_NS_FAILED
            - ZM_CHILD_NS_SAME_IP
            - ZM_CHILD_ZONE_LAME
            - ZM_CN01_MISSING_NS_RECORD_UDP
            - ZM_CN01_MISSING_SOA_RECORD_UDP
            - ZM_CN01_NO_RESPONSE_NS_QUERY_UDP
            - ZM_CN01_NO_RESPONSE_SOA_QUERY_UDP
            - ZM_CN01_NO_RESPONSE_UDP
            - ZM_CN01_NS_RECORD_NOT_AA_UDP
            - ZM_CN01_SOA_RECORD_NOT_AA_UDP
            - ZM_CN01_UNEXPECTED_RCODE_NS_QUERY_UDP
            - ZM_CN01_UNEXPECTED_RCODE_SOA_QUERY_UDP
            - ZM_CN01_WRONG_NS_RECORD_UDP
            - ZM_CN01_WRONG_SOA_RECORD_UDP
            - ZM_CN02_MISSING_NS_RECORD_TCP
            - ZM_CN02_MISSING_SOA_RECORD_TCP
            - ZM_CN02_NO_RESPONSE_NS_QUERY_TCP
            - ZM_CN02_NO_RESPONSE_SOA_QUERY_TCP
            - ZM_CN02_NO_RESPONSE_TCP
            - ZM_CN02_NS_RECORD_NOT_AA_TCP
            - ZM_CN02_SOA_RECORD_NOT_AA_TCP
            - ZM_CN02_UNEXPECTED_RCODE_NS_QUERY_TCP
            - ZM_CN02_UNEXPECTED_RCODE_SOA_QUERY_TCP
            - ZM_CN02_WRONG_NS_RECORD_TCP
            - ZM_CN02_WRONG_SOA_RECORD_TCP
            - ZM_DEL_NS_SAME_IP
            - ZM_DIFFERENT_SOURCE_IP
            - ZM_DNSKEY_SMALLER_THAN_REC
            - ZM_DNSKEY_TOO_LARGE_FOR_ALGO
            - ZM_DNSKEY_TOO_SMALL_FOR_ALGO
            - ZM_DS01_DS_ALGO_2_MISSING
            - ZM_DS01_DS_ALGO_DEPRECATED
            - ZM_DS01_DS_ALGO_NOT_DS
            - ZM_DS01_DS_ALGO_PRIVATE
            - ZM_DS01_DS_ALGO_RESERVED
            - ZM_DS01_DS_ALGO_UNASSIGNED
            - ZM_DS01_NO_RESPONSE
            - ZM_DS01_PARENT_SERVER_NO_DS
            - ZM_DS02_DNSKEY_NOT_FOR_ZONE_SIGNING
            - ZM_DS02_DNSKEY_NOT_SEP
            - ZM_DS02_DNSKEY_NOT_SIGNED_BY_ANY_DS
            - ZM_DS02_NO_DNSKEY_FOR_DS
            - ZM_DS02_NO_MATCHING_DNSKEY_RRSIG
            - ZM_DS02_NO_MATCH_DS_DNSKEY
            - ZM_DS02_NO_VALID_DNSKEY_FOR_ANY_DS
            - ZM_DS02_RRSIG_NOT_VALID_BY_DNSKEY
            - ZM_DS03_ERR_MULT_NSEC3
            - ZM_DS03_ILLEGAL_HASH_ALGO
            - ZM_DS03_ILLEGAL_ITERATION_VALUE
            - ZM_DS03_ILLEGAL_SALT_LENGTH
            - ZM_DS03_INCONSISTENT_HASH_ALGO
            - ZM_DS03_INCONSISTENT_ITERATION
            - ZM_DS03_INCONSISTENT_NSEC3_FLAGS
            - ZM_DS03_INCONSISTENT_SALT_LENGTH
            - ZM_DS03_NO_DNSSEC_SUPPORT
            - ZM_DS03_SERVER_NO_DNSSEC_SUPPORT
            - ZM_DS03_SERVER_NO_NSEC3
            - ZM_DS03_UNASSIGNED_FLAG_USED
            - ZM_DS05_ALGO_DEPRECATED
            - ZM_DS05_ALGO_NOT_RECOMMENDED
            - ZM_DS05_ALGO_NOT_ZONE_SIGN
            - ZM_DS05_ALGO_PRIVATE
            - ZM_DS05_ALGO_RESERVED
            - ZM_DS05_ALGO_UNASSIGNED
            - ZM_DS05_NO_RESPONSE
            - ZM_DS05_SERVER_NO_DNSSEC
            - ZM_DS08_DNSKEY_RRSIG_EXPIRED
            - ZM_DS08_DNSKEY_RRSIG_NOT_YET_VALID
            - ZM_DS08_MISSING_RRSIG_IN_RESPONSE
            - ZM_DS08_NO_MATCHING_DNSKEY
            - ZM_DS08_RRSIG_NOT_VALID_BY_DNSKEY
            - ZM_DS09_MISSING_RRSIG_IN_RESPONSE
            - ZM_DS09_NO_MATCHING_DNSKEY
            - ZM_DS09_RRSIG_NOT_VALID_BY_DNSKEY
            - ZM_DS09_SOA_RRSIG_EXPIRED
            - ZM_DS09_SOA_RRSIG_NOT_YET_VALID
            - ZM_DS10_ERR_MULT_NSEC
            - ZM_DS10_ERR_MULT_NSEC3
            - ZM_DS10_ERR_MULT_NSEC3PARAM
            - ZM_DS10_EXPECTED_NSEC_NSEC3_MISSING
            - ZM_DS10_INCONSISTENT_NSEC
            - ZM_DS10_INCONSISTENT_NSEC3
            - ZM_DS10_INCONSISTENT_NSEC_NSEC3
            - ZM_DS10_MIXED_NSEC_NSEC3
            - ZM_DS10_NSEC3PARAM_GIVES_ERR_ANSWER
            - ZM_DS10_NSEC3PARAM_MISMATCHES_APEX
            - ZM_DS10_NSEC3PARAM_QUERY_RESPONSE_ERR
            - ZM_DS10_NSEC3_ERR_TYPE_LIST
            - ZM_DS10_NSEC3_MISMATCHES_APEX
            - ZM_DS10_NSEC3_MISSING_SIGNATURE
            - ZM_DS10_NSEC3_NODATA_MISSING_SOA
            - ZM_DS10_NSEC3_NODATA_WRONG_SOA
            - ZM_DS10_NSEC3_NO_VERIFIED_SIGNATURE
            - ZM_DS10_NSEC3_RRSIG_EXPIRED
            - ZM_DS10_NSEC3_RRSIG_NOT_YET_VALID
            - ZM_DS10_NSEC3_RRSIG_NO_DNSKEY
            - ZM_DS10_NSEC3_RRSIG_VERIFY_ERROR
            - ZM_DS10_NSEC_ERR_TYPE_LIST
            - ZM_DS10_NSEC_GIVES_ERR_ANSWER
            - ZM_DS10_NSEC_MISMATCHES_APEX
            - ZM_DS10_NSEC_MISSING_SIGNATURE
            - ZM_DS10_NSEC_NODATA_MISSING_SOA
            - ZM_DS10_NSEC_NODATA_WRONG_SOA
            - ZM_DS10_NSEC_NO_VERIFIED_SIGNATURE
            - ZM_DS10_NSEC_QUERY_RESPONSE_ERR
            - ZM_DS10_NSEC_RRSIG_EXPIRED
            - ZM_DS10_NSEC_RRSIG_NOT_YET_VALID
            - ZM_DS10_NSEC_RRSIG_NO_DNSKEY
            - ZM_DS10_NSEC_RRSIG_VERIFY_ERROR
            - ZM_DS10_SERVER_NO_DNSSEC
            - ZM_DS13_ALGO_NOT_SIGNED_DNSKEY
            - ZM_DS13_ALGO_NOT_SIGNED_NS
            - ZM_DS13_ALGO_NOT_SIGNED_SOA
            - ZM_DURATION_LONG
            - ZM_EDNS_RESPONSE_WITHOUT_EDNS
            - ZM_EDNS_VERSION_ERROR
            - ZM_EXTRA_ADDRESS_CHILD
            - ZM_EXTRA_NAME_PARENT
            - ZM_EXTRA_PROCESSING_BROKEN
            - ZM_IN_BAILIWICK_ADDR_MISMATCH
            - ZM_IPV4_ONE_ASN
            - ZM_IPV6_ONE_ASN
            - ZM_IS_A_RECURSOR
            - ZM_IS_NOT_AUTHORITATIVE
            - ZM_MISSING_OPT_IN_TRUNCATED
            - ZM_MNAME_DISCOURAGED_DOUBLE_DASH
            - ZM_MNAME_HAS_NO_ADDRESS
            - ZM_MNAME_NON_ALLOWED_CHARS
            - ZM_MNAME_NUMERIC_TLD
            - ZM_MULTIPLE_NS_SET
            - ZM_MULTIPLE_SOA
            - ZM_MULTIPLE_SOA_MNAMES
            - ZM_MULTIPLE_SOA_RNAMES
            - ZM_MULTIPLE_SOA_TIME_PARAMETER_SET
            - ZM_N10_EDNS_RESPONSE_ERROR
            - ZM_N10_NO_RESPONSE_EDNS1_QUERY
            - ZM_N10_UNEXPECTED_RCODE
            - ZM_N11_NO_EDNS
            - ZM_N11_NO_RESPONSE
            - ZM_N11_RETURNS_UNKNOWN_OPTION_CODE
            - ZM_N11_UNEXPECTED_ANSWER_SECTION
            - ZM_N11_UNEXPECTED_RCODE
            - ZM_N11_UNSET_AA
            - ZM_NAMESERVER_IP_WITHOUT_REVERSE
            - ZM_NOT_ENOUGH_IPV4_NS_CHILD
            - ZM_NOT_ENOUGH_IPV4_NS_DEL
            - ZM_NOT_ENOUGH_IPV6_NS_CHILD
            - ZM_NOT_ENOUGH_IPV6_NS_DEL
            - ZM_NOT_ENOUGH_NS_CHILD
            - ZM_NOT_ENOUGH_NS_DEL
            - ZM_NO_EDNS_SUPPORT
            - ZM_NO_IPV4_NS_CHILD
            - ZM_NO_IPV4_NS_DEL
            - ZM_NO_IPV6_NS_CHILD
            - ZM_NO_IPV6_NS_DEL
            - ZM_NO_RESOLUTION
            - ZM_NO_RESPONSE
            - ZM_NO_RESPONSE_DNSKEY
            - ZM_NO_RESPONSE_NS_QUERY
            - ZM_NO_RESPONSE_PTR_QUERY
            - ZM_NO_RESPONSE_SOA_QUERY
            - ZM_NO_SOA_IN_RESPONSE
            - ZM_NS_ERROR
            - ZM_NS_IS_CNAME
            - ZM_OUT_OF_BAILIWICK_ADDR_MISMATCH
            - ZM_QNAME_CASE_INSENSITIVE
            - ZM_REFERRAL_SIZE_TOO_LARGE
            - ZM_REMAINING_LONG
            - ZM_REMAINING_SHORT
            - ZM_RNAME_MAIL_DOMAIN_INVALID
            - ZM_RNAME_MAIL_DOMAIN_LOCALHOST
            - ZM_RNAME_MAIL_ILLEGAL_CNAME
            - ZM_RNAME_MISUSED_AT_SIGN
            - ZM_RNAME_RFC822_INVALID
            - ZM_RRSIG_EXPIRED
            - ZM_SAME_IP_ADDRESS
            - ZM_TOTAL_NAME_MISMATCH
            - ZM_UNEXPECTED_RCODE
            - ZM_WRONG_SOA
            - ZM_Z_FLAGS_NOTCLEAR

        codeRef:
          description: a link to a description for the error code (if any).
          type: string
          format: url
          x-constraints: "@ValidUrl"
          example: https://icann.github.io/rst-test-specs/rst-test-specs.html#Error-DNSSEC_DNS_QUERY_ERROR

        severity:
          description: |
            The log level of the message, a subset of the values defined in
            RFC5424.
          type: string
          enum:
            - INFO
            - WARNING
            - ERROR
            - CRITICAL
        timestamp:
          description: The timestamp when the message was generated.
          type: string
          format: date-time
        message:
          description: The message.
          type: string
          example: An error occurred while performing DNS query(s).

    idnTableRequest:
      description: |
        This object describes an IDN table, or more specifically, an RSP's
        implementation of such a table.
      type: object
      required:
        - tag
        - version
        - isReferenceLGR
        - permittedVariantPolicies
        - testLabels
      properties:
        rsp:
          description: |
            The RSP's unique ID.
        
            In OT&E, this **MUST** be omitted when creating a new IDN table,
            and will be populated using the FQDN of the first `TLSA` record
            which matches the certificate presented by the client.
          type: string
          example: RSPI2404-M51
        
        tag:
          description: |
            The language tag, which **MUST** conform to the specification in [RFC
            5646](https://www.rfc-editor.org/rfc/rfc5646.html).
          type: string
          example: ar-Arab
          x-constraints: "@ValidLanguageTag"
        
        version:
          description: The version number.
          type: string
          example: "1.0"
        
        eppSafeCodePoints:
          description: |
            A list of sequences that are "safe" for the purposes of pseudo-random
            generation of domain names in TLDs that use this table.
        
            Some test cases require the generation and creation of domain names with
            pseudo-randomly generated names. In TLDs whose value of the `idnOnly`
            property is `false`, ASCII letters and digits will be used.
        
            However, for TLDs for which this value is `true`, this list provides a set
            of characters that can be used to generate domain names.
        
            Each item in the array is a string containing one or more code points,
            separated by spaces.
          type: array
          minItems: 3
          items:
            type: string
            pattern: >-
              ^U\+[0-9a-fA-F]+(?: U\+[0-9a-fA-F]+)*$
            example: U+0047
        
        isReferenceLGR:
          description: |
            Whether the RSP's implementation of the IDN table uses a Second-
            Level Reference Label Generation Rules (LGRs) developed by ICANN.
        
            For more information on ICANN's Second-Level LGRS, please see:
        
              * <https://www.icann.org/resources/pages/second-level-lgr-2015-06-21-en>
          type: boolean
        
        permittedVariantPolicies:
          description: |
            The variant policies supported for this table. This is an array of strings
            whose permitted values are:
        
            * `allblockvar` - all variants are blocked
            * `mayallocatevar` - variants may be allocated
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/variantPolicy"
        
        testLabels:
          $ref: "#/components/schemas/idnTestLabels"

    idnTable:
      description: |
        This object describes an IDN table, or more specifically, an RSP's
        implementation of such a table.
      type: object
      required:
        - tableID
        - active
        - rsp
        - tag
        - version
        - isReferenceLGR
        - permittedVariantPolicies
        - testLabels
      properties:
        tableID:
          description: A unique ID for this table.
          type: string
          example: 3f07afce-cc4c-4cd8-b1ca-391167b7c6f4
        active:
          description: |
            Indicates whether this table is available for use in testing. If
            this property is `false`, this table cannot be used in tests.

            In OT&E, this **MUST** be omitted when creating a new IDN table.
          type: boolean
          default: true

        rsp:
          description: |
            The RSP's unique ID.
        
            In OT&E, this **MUST** be omitted when creating a new IDN table,
            and will be populated using the FQDN of the first `TLSA` record
            which matches the certificate presented by the client.
          type: string
          example: RSPI2404-M51
        
        tag:
          description: |
            The language tag, which **MUST** conform to the specification in [RFC
            5646](https://www.rfc-editor.org/rfc/rfc5646.html).
          type: string
          example: ar-Arab
          x-constraints: "@ValidLanguageTag"
        
        version:
          description: The version number.
          type: string
          example: "1.0"
        
        eppSafeCodePoints:
          description: |
            A list of sequences that are "safe" for the purposes of pseudo-random
            generation of domain names in TLDs that use this table.
        
            Some test cases require the generation and creation of domain names with
            pseudo-randomly generated names. In TLDs whose value of the `idnOnly`
            property is `false`, ASCII letters and digits will be used.
        
            However, for TLDs for which this value is `true`, this list provides a set
            of characters that can be used to generate domain names.
        
            Each item in the array is a string containing one or more code points,
            separated by spaces.
          type: array
          minItems: 3
          items:
            type: string
            pattern: >-
              ^U\+[0-9a-fA-F]+(?: U\+[0-9a-fA-F]+)*$
            example: U+0047
        
        isReferenceLGR:
          description: |
            Whether the RSP's implementation of the IDN table uses a Second-
            Level Reference Label Generation Rules (LGRs) developed by ICANN.
        
            For more information on ICANN's Second-Level LGRS, please see:
        
              * <https://www.icann.org/resources/pages/second-level-lgr-2015-06-21-en>
          type: boolean
        
        permittedVariantPolicies:
          description: |
            The variant policies supported for this table. This is an array of strings
            whose permitted values are:
        
            * `allblockvar` - all variants are blocked
            * `mayallocatevar` - variants may be allocated
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/variantPolicy"
        
        testLabels:
          $ref: "#/components/schemas/idnTestLabels"

    idnTableSearchResult:
      description: |
        An abbreviated representation of an IDN table object that is included in
        search result.
      required:
        - tableID
        - href
        - rsp
        - tag
        - version
      properties:
        tableID:
          description: A unique ID for this table.
          type: string
          example: 3f07afce-cc4c-4cd8-b1ca-391167b7c6f4
        href:
          description: The URL for this object.
          type: string
          format: url
          x-constraints: "@ValidUrl"
          example: /v1/table/3f07afce-cc4c-4cd8-b1ca-391167b7c6f4
        rsp:
          description: The RSP ID.
          type: string
          example: RSPI2404-M51
        tag:
          description: The language tag.
          type: string
          example: ar-Arab
        version:
          description: The version number.
          type: string
          example: "1.0"

    idnTestLabels:
      description: An object containing IDN test labels.
      type: object
      required:
        - allocatableLabels
        - unallocatableLabels
      properties:
        allocatableLabels:
          description: |
            A list of **allocatable** IDN labels, and any variant labels
            thereof.
          type: array
          minItems: 1
          items:
            $ref: "#/components/schemas/idnTestLabel"

        unallocatableLabels:
          description: |
            A list of **unallocatable** IDN labels that it should not be
            possible to register.
          type: array
          minItems: 1
          items:
            description: An IDN label in either A-label or U-label format.
            type: string
            example: xn--g28h

    idnTestLabel:
      description: |
        An object describing an allocatable IDN test label and any variants.
      type: object
      required:
        - label
        - variantTLDAllocatability
        - variants

      properties:
        label:
          description: The primary label in either A-label or U-label format.
          type: string
          example: "اِختِصاص"

        remark:
          description: Useful remarks about the label.
          type: string
          example: This is an illustrative example.

        variantTLDAllocatability:
          description: |
            A list of language tags that this label is valid in, in addition to
            the table in question. In the context of a set of variant TLDs, this
            property may be used to determine which other TLDs in the set this
            label may be allocated in.
          type: array
          minItems: 0
          x-constraints: "@ValidLanguageTagList"
          items:
            type: string
            example: und-Arab

        variants:
          description: |
            A list of variant labels (if any).

            If a TLD is not subject to rules relating to the allocatability of
            IDN variants, then this array **MUST** be empty.
          type: array
          minItems: 0
          items:
            $ref: "#/components/schemas/idnVariantLabel"

    idnVariantLabel:
      description: A variant label.
      type: object
      required:
        - label
        - variantTLDAllocatability
      properties:
        label:
          description: The variant label in either A-label or U-label format.
          type: string
          example: "دامنه"

        remark:
          description: Useful remarks about the label.
          type: string
          example: This is an illustrative example.

        variantTLDAllocatability:
          description: |
            The language tags that the label is allocatable in. This may include
            the IDN table in which the primary label is allocatable. In the
            context of a set of variant TLDs, this property may be used to
            determine the other TLDs in the set this label may be allocated in
            (otherwise it MUST be blocked). This array MAY be empty, in which
            case the variant label MUST be blocked in all TLDs in the set.
          type: array
          minItems: 0
          x-constraints: "@ValidLanguageTagList"
          items:
            type: string
            example: fa-Arab

    variantPolicy:
      description: indicates the policy that should be applied to IDN variants.
      type: string
      enum:
        - allblockvar
        - mayallocatevar

    fileRef:
      description: An object providing a hyperlink to an uploaded file.
      type: object
      properties:
        name:
          description: The file name.
          type: string
          example: example.txt
        type:
          description: The media type of the file.
          type: string
          example: text/plain
        uploaded:
          description: when the file was uploaded.
          type: string
          format: date-time
        href:
          description: The URL of the file.
          type: string
          format: url
          example: /v1/test/3aebd167-c275-45b6-842a-2680ed80422b/files/example.txt
          x-constraints: "@ValidUrl"

    testPlan:
      description: |
        The test plan to be followed. A list of test plans and the permitted
        values for this property may be found at
        <https://icann.github.io/rst-test-specs/rst-test-specs.html#test-plans>.
      type: string
      enum:
      - StandardPreDelegationTest
      - PreDelegationTestWithSRSGateway
      - StandardRSPChangeTest
      - DNSRSPChangeTest
      - StandardIDNTest
      - SRSGatewayTest
      - MainRSPEvaluationTest
      - RSPEvaluationIDNTest
      - DNSRSPEvaluationTest
      - DNSSECRSPEvaluationTest
      - SRSGatewayRSPTest
      - AdditionalDNSTransportsTest
      - StandardDNSOnly
      - StandardDNSSECOnly
      - StandardRDAPOnly
      - StandardEPPOnly
      - StandardRDEOnly
      - StandardSRSGatewayOnly
      - MinimumRPMsOnly
      - DNSSECOperationsOnly
      - StandardIntegrationTestOnly
