{
  "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\n[RESTful](https://en.wikipedia.org/wiki/REST) interface to ICANN's [Registry\nSystem Testing](https://www.icann.org/resources/registry-system-testing-v2.0)\nplatform, which is used to conduct conformance tests of [critical registry\nfunctions](https://www.icann.org/registry-transition-processes-en#:~:text=Critical%20Functions:,registry%20data%20escrow)\nat various points during the lifecycle of a gTLD (before initial delegation,\nbefore the [transition to a new Registry Service\nProvider](https://www.icann.org/resources/material-subcontracting-arrangement),\nbefore the approval of new [registry\nservices](https://www.icann.org/resources/pages/rsep-2014-02-19-en)), and\nduring [RSP evaluation](https://newgtldprogram.icann.org/en/application-rounds/round2/rsp).\n\n### Change Log\n\n* v2026.4 (2026-04-13):\n  * Added the `testPlan`, `dateRequested`, `dateStarted` and `dateCompleted`\n    properties to `testRequestSearchResult` objects\n    ([#16](https://github.com/icann/rst-api-spec/issues/16))\n\n  * The `skipTestCases` and `ignoreErrorCodes` properties have been\n    reinstated ([#57](https://github.com/icann/rst-api-spec/issues/57))\n\n* v2026.3 (2026-02-23):\n  * the changes in v2026.02 (see below) have been temporarily reverted, as\n    the corresponding code changes are not yet finished\n    ([#54](https://github.com/icann/rst-api-spec/issues/54))\n\n* v2026.2 (2026-02-13):\n  * add the `skipTestCases` and `ignoreErrorCodes` properties to\n    the `testRequest` and `testRequestSubmitted` object types\n    ([#39](https://github.com/icann/rst-api-spec/issues/39))\n\n* v2026.01.1 (2026-01-26):\n  * add 422 to the list of response codes for file uploads\n    ([#49](https://github.com/icann/rst-api-spec/issues/48))\n\n* v2026.01 (2026-01-05):\n  * Constrain permitted values for file names\n    ([#37](https://github.com/icann/rst-api-spec/issues/37))\n\n* v2025.08 (2025-12-05):\n  * The `DELETE /v1/test/{id}` API endpoint has been added\n    ([#28](https://github.com/icann/rst-api-spec/issues/28))\n\n* v2025.07 (2025-11-26):\n  * Update description of the rsp property\n    ([#32](https://github.com/icann/rst-api-spec/issues/32))\n\n* v2025.06 (2025-10-02):\n  * Require at least one value in `permittedVariantPolicies`\n    ([#26](https://github.com/icann/rst-api-spec/pull/26))\n\n  * add the `DELETE /v1/test/{id}/run/{runID}` API endpoint\n    ([#15](https://github.com/icann/rst-api-spec/pull/15))\n\n* v2025.05 (2025-09-01):\n  * This version incorporates the test plans, error codes and other\n    information from [v2025.06 of the RST test\n    specifications](https://github.com/icann/rst-test-specs/releases/tag/v2025.06).\n\n  * Add `x-constraints` properties to `idnTableRequest.tag`,\n    `idnTestLabel.variantTLDAllocatability` and\n    `idnVariantLabel.variantTLDAllocatability` to allow additional\n    validation of provided values (see\n    [#18](https://github.com/icann/rst-api-spec/issues/18)).\n\n  * Remove `novar` as permitted value for `variantPolicy` (see\n    [#20](https://github.com/icann/rst-api-spec/issues/20)).\n\n* v2025.04 (2025-08-14):\n  * This version incorporates the test plans, error codes and other\n    information from [v2025.05 of the RST test\n    specifications](https://github.com/icann/rst-test-specs/releases/tag/v2025.05).\n    There are no other changes.\n\n* v2025.03 (2025-07-09):\n  * This version incorporates the test plans, error codes and other\n    information from [v2025.04 of the RST test\n    specifications](https://github.com/icann/rst-test-specs/releases/tag/v2025.04)\n    (see [#7](https://github.com/icann/rst-api-spec/issues/7)).\n\n  * The `description` property has been removed from the `testCaseLog`\n    schema (see [#12](https://github.com/icann/rst-api-spec/issues/12)).\n\n  * Correct documentation of the `POST /v1/test` endpoint to confirm that\n    the `rsp` property **MUST** be omitted (see\n    [#10](https://github.com/icann/rst-api-spec/issues/10)).\n\n* v2025.02 (2025-04-10):\n  * Update documentation for the `/v1/heartbeat` and `/v1/resource/{file}`\n    endpoints, as due to a technical limitation, they can only be accessed\n    by authenticated clients.\n\n* v2025.01 (2025-03-27):\n  * This is the first stable release of the RST v2.0 API specification.\n    There are no changes to the spec other than the version number.\n  * To see the log of changes prior to this version, [click\n    here](https://github.com/icann/rst-api-spec/blob/main/etc/pre-v2025.01-changelog.md).\n\n### Authentication\n\nAll access to the API is authenticated using TLS certificates that are\nauthenticated using `TLSA` records published in the DNS. For more\ninformation, please consult [the RST v2.0 page on the ICANN\nwebsite](https://www.icann.org/resources/registry-system-testing-v2.0/#authentication-and-access-control).\n\n### License\n\n    BSD 3-Clause License\n\nCopyright (c) 2023-2025, Internet Corporation for Assigned Names and Numbers (ICANN).\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n   list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n   this list of conditions and the following disclaimer in the documentation\n   and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its\n   contributors may be used to endorse or promote products derived from\n   this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  "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.\n\nOnly authenticated clients can access this resource.\n",
        "operationId": "heartbeat",
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n\nThis operation is not available to external users in production, but may\nbe used in OT&E.\n",
        "operationId": "createTest",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/testRequest"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n\nUsers 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.\n\nInternal users can perform this operation on any object.\n",
        "operationId": "getTestInfo",
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n\nThis operation is not available to external users in production, but may\nbe used in OT&E.\n\nExternal users can only delete test objects that they created.\n\nInternal users can perform this operation on any object.\n",
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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\nwill previously submitted values. Values that are present in the object\nbut not present in the payload will not be modified.\n\nInput parameters can only be submitted for test request objects that\nhave the status of `inputs-needed`.\n\nUsers 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.\n\nInternal users can perform this operation on any object.\n\nOnce all required input parameters have been submitted (and any files\nreferenced in those parameters have been uploaded), the status of\nthe test request object will change from `input-needed` to\n`inputs-complete`.\n",
        "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.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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\nbe uploaded in a single request. If a filename matches a previously\nsubmitted file, that file will be replaced.\n\nAll files MUST be referenced in an input parameter **before** being\nuploaded.\n\nUsers 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.\n\nInternal users can perform this operation on any object.\n",
        "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.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n\nUsers 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.\n\nInternal users can perform this operation on any object.\n",
        "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.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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\nobject's status property is `inputs-complete`, a `201` status will be\nreturned; otherwise a `400` status will be returned.\n",
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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\nrun **MUST** be `in-progress`. If successful, the `result` property will\nbe changed to `cancelled`.\n\nUsers 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.\n\nInternal users can perform this operation on any object.\n",
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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**\n\nThis operation allows the `result` property of a test request to be\noverridden. The current value of this propert **MUST** be either\n`exception` or `fail`.\n",
        "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.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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\nmatching results.\n\nExternal users will only see results where their certificate\nmatches a `TLSA` record published in the DNS at one of the hostnames\nspecified in the `clientIDs` property of the test request object.\n\nInternal users will see results for all users.\n",
        "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).\n",
            "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.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n\nIDN table objects must be created before they can be referenced in a\ntest request.\n\nThis operation is not available to external users in production, but may\nbe used in OT&E.\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/idnTableRequest"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n\nExternal users can only access IDN tables that are linked to test\nobjects associated with their credentials, or which they created.\n\nInternal users can perform this operation on any object.\n",
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n\nExternal users can only access IDN tables that are linked to test\nobjects associated with their credentials.\n\nThis operation is not available to external users in production, but may\nbe used in OT&E.\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/idnTableRequest"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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.\n\nExternal users can only access IDN tables that are linked to test\nobjects associated with their credentials.\n\nThis operation is not available to external users in production, but may\nbe used in OT&E.\n\nInternal users can perform this operation on any object.\n",
        "responses": {
          "400": {
            "description": "This response indicates that the server received a malformed request.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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\nparameters.\n\nExternal users can only access IDN tables that are linked to test\nobjects associated with their credentials, or which they created.\n\nInternal users can perform this operation on any object.\n",
        "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.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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)\nwhich may be useful in preparing registry systems for testing.\n\nOnly authenticated clients can access resources.\n",
        "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.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "403": {
            "description": "This response indicates that the access control policy prevents access.\n",
            "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\nresource that already exists.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "422": {
            "description": "This response indicates that the server was unable to process one or\nmore uploaded files.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "429": {
            "description": "This response indicates that the client has exceeded rate limits.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "504": {
            "description": "This response indicates that an intermediate proxy experienced an error.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rstError"
                }
              }
            }
          },
          "500": {
            "description": "This response indicates that there has been an internal server error.\n",
            "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\nrequests that could not be successfully completed.\n",
        "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\nobject. The `testRequestSubmitted` type inherits from it.\n",
        "type": "object",
        "required": [
          "tlds",
          "rsp",
          "clientIDs",
          "testPlan"
        ],
        "properties": {
          "applicationID": {
            "description": "For RSP evaluation, the application ID, otherwise it should be\nomitted. In OT&E, this **MUST** be omitted when creating a new test\nrequest.\n",
            "type": "string",
            "example": "a6e91182-5c63-415c-87dd-2d0902578cd5"
          },
          "rsp": {
            "description": "The RSP's unique ID.\n\nIn OT&E, this **MUST** contain the Fully-Qualified Domain Name where a TLSA\nrecord that validates the client certificate is published.\n",
            "type": "string",
            "example": "RSPI2404-M51"
          },
          "tlds": {
            "description": "This structure describes the TLDs to which the test relates. It is\nan array which contains an array of logically grouped TLDs (such as\nthose with a variant relationship).\n\nSimple example of an ASCII TLD with no IDN tables:\n```\n{\n  \"tlds\": [\n    [\n      {\n        \"name\": \"example\",\n        \"idnTables\": []\n      }\n    ]\n  ]\n}\n```\n\nIn RSP testing, this property will only contain a single TLD, but more\ncomplex sets of TLDs with variants are supported for pre-delegation testing.\n\nExample of an ASCII TLD with one or more IDN tables:\n```\n{\n  \"tlds\": [\n    [\n      {\n        \"name\": \"example\",\n        \"idnTables\": [\n          {\n            \"id\": \"06e6ab5b-0e7a-4ff2-8e67-d6320e5ef4b7\",\n            \"variantPolicy\": \"novar\"\n          },\n          {\n            \"id\": \"25eb306b-1fb0-4def-bf01-fa18815f614b\",\n            \"variantPolicy\": \"novar\"\n          }\n        ]\n      }\n    ]\n  ]\n}\n```\n\nExample of a set of variant TLDs:\n```\n{\n  \"tlds\": [\n    [\n      {\n        \"name\": \"xn--8pvxs\",\n        \"idnTables\": [\n          {\n            \"id\": \"06e6ab5b-0e7a-4ff2-8e67-d6320e5ef4b7\",\n            \"variantPolicy\": \"mayallocatevar\"\n          }\n        ]\n      },\n      {\n        \"name\": \"xn--8pvz8d\",\n        \"idnTables\": [\n          {\n            \"id\": \"3f60939b-b7bf-46db-9004-126bf08923af\",\n            \"variantPolicy\": \"mayallocatevar\"\n          }\n        ]\n      }\n    ]\n  ]\n}\n```\n\nAll the IDN tables referenced in this property **MUST** already\nexist when the test object is created.\n\nIf a TLD offers registrations at the third or higher levels, then at\nleast one second-level \"registry-class\" domain name(s) should be\nseparately listed, rather than the TLD itself.\n",
            "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\nwhich can be used for authentication.\n\nIn OT&E, this **MUST** contain the Fully-Qualified Domain Name where a TLSA\nrecord that validates the client certificate is published, and **MAY**\ncontain other IDs.\n",
            "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\ntest remains open indefinitely (unless the `completed` status is reached).\n\nIn OT&E, this **MUST** be omitted when creating a new test request.\n",
            "type": "string",
            "format": "date-time"
          },
          "skipTestCases": {
            "description": "A list of test cases to be skipped (if the specified test plan includes\nthem).\n",
            "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\n`WARNING`, if that error code is generated by the specified test case. Only\ncodes of severity `ERROR` can be downgraded.\n",
            "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.\n\n1. The `inputs-needed` value indicates that the request has been\n   received, but one or more input parameters are needed before a test\n   run can begin. The `missingInputs` property of the test indicates\n   which input parameters are missing.\n2. The `files-needed` value indicates that the request has been\n   received, but one or more files are needed before the a test run can\n   begin. The `missingFiles` property of the test indicates which files\n   are missing.\n3. The `inputs-complete` value indicates that all the required\n   input parameters and files have been provided. The test is therefore\n   ready to start. It is still possible to update input parameters if\n   the test has this status.\n4. The `in-progress` value indicates that a test run is in progress.\n5. The `completed` value indicates that the test run has completed. If\n   a test object has this status, then its `result` property will\n   indicate the outcome of the test.\n6. The `expired` value indicates that the test did not have a status\n   of `completed` when the `dueDate` was reached.\n\n* [State diagram](etc/test-object-state-machine.svg)\n",
        "type": "string",
        "enum": [
          "inputs-needed",
          "files-needed",
          "inputs-complete",
          "in-progress",
          "completed",
          "expired"
        ]
      },
      "testResult": {
        "description": "A string indicating the result of a test run.\n\n1. If no test run has been requested for a test object, this property\n   will be `not-started`.\n2. The `in-progress` value indicates that the test run has not yet\n   finished.\n3. The `pass` value indicates that the test run completed with no\n   errors.\n4. The `fail` value indicates that at least one test case failed.\n5. The `exception` value indicates that an internal issue prevented\n   the test run from completing.\n6. The `cancelled` value indicates that the test was cancelled by an\n   administrator.\n",
        "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\ntable objects must be created prior to being referenced in a test\nrequest.\n",
        "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\nassociated IDN tables.\n",
        "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\nregistered under this TLD. If the value is `false` then domains that\nonly use the ASCII range are also permitted.\n",
            "type": "boolean",
            "default": false
          }
        }
      },
      "testRequestSearchResult": {
        "description": "An abbreviated representation of a test object that is included in\nsearch result.\n",
        "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\nsubmitted. It inherits all the properties defined in the\n`testRequest` type.\n",
        "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\nomitted. In OT&E, this **MUST** be omitted when creating a new test\nrequest.\n",
            "type": "string",
            "example": "a6e91182-5c63-415c-87dd-2d0902578cd5"
          },
          "rsp": {
            "description": "The RSP's unique ID.\n\nIn OT&E, this **MUST** contain the Fully-Qualified Domain Name where a TLSA\nrecord that validates the client certificate is published.\n",
            "type": "string",
            "example": "RSPI2404-M51"
          },
          "tlds": {
            "description": "This structure describes the TLDs to which the test relates. It is\nan array which contains an array of logically grouped TLDs (such as\nthose with a variant relationship).\n\nSimple example of an ASCII TLD with no IDN tables:\n```\n{\n  \"tlds\": [\n    [\n      {\n        \"name\": \"example\",\n        \"idnTables\": []\n      }\n    ]\n  ]\n}\n```\n\nIn RSP testing, this property will only contain a single TLD, but more\ncomplex sets of TLDs with variants are supported for pre-delegation testing.\n\nExample of an ASCII TLD with one or more IDN tables:\n```\n{\n  \"tlds\": [\n    [\n      {\n        \"name\": \"example\",\n        \"idnTables\": [\n          {\n            \"id\": \"06e6ab5b-0e7a-4ff2-8e67-d6320e5ef4b7\",\n            \"variantPolicy\": \"novar\"\n          },\n          {\n            \"id\": \"25eb306b-1fb0-4def-bf01-fa18815f614b\",\n            \"variantPolicy\": \"novar\"\n          }\n        ]\n      }\n    ]\n  ]\n}\n```\n\nExample of a set of variant TLDs:\n```\n{\n  \"tlds\": [\n    [\n      {\n        \"name\": \"xn--8pvxs\",\n        \"idnTables\": [\n          {\n            \"id\": \"06e6ab5b-0e7a-4ff2-8e67-d6320e5ef4b7\",\n            \"variantPolicy\": \"mayallocatevar\"\n          }\n        ]\n      },\n      {\n        \"name\": \"xn--8pvz8d\",\n        \"idnTables\": [\n          {\n            \"id\": \"3f60939b-b7bf-46db-9004-126bf08923af\",\n            \"variantPolicy\": \"mayallocatevar\"\n          }\n        ]\n      }\n    ]\n  ]\n}\n```\n\nAll the IDN tables referenced in this property **MUST** already\nexist when the test object is created.\n\nIf a TLD offers registrations at the third or higher levels, then at\nleast one second-level \"registry-class\" domain name(s) should be\nseparately listed, rather than the TLD itself.\n",
            "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\nwhich can be used for authentication.\n\nIn OT&E, this **MUST** contain the Fully-Qualified Domain Name where a TLSA\nrecord that validates the client certificate is published, and **MAY**\ncontain other IDs.\n",
            "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\ntest remains open indefinitely (unless the `completed` status is reached).\n\nIn OT&E, this **MUST** be omitted when creating a new test request.\n",
            "type": "string",
            "format": "date-time"
          },
          "skipTestCases": {
            "description": "A list of test cases to be skipped (if the specified test plan includes\nthem).\n",
            "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\n`WARNING`, if that error code is generated by the specified test case. Only\ncodes of severity `ERROR` can be downgraded.\n",
            "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\nwill be determined using the `Version` property of the [RST Test\nSpecifications](https://icann.github.io/rst-test-specs/rst-test-specs.html)\nand follows the [Semantic Versioning](https://semver.org)\nconvention.\n",
            "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\nwill contain any `ERROR` or `CRITICAL` error codes generated by the\ntest run. Otherwise it will be omitted.\n",
            "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\nbeen provided.\n",
            "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\ninitially be an empty array, until a test run is started.\n",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "description": "An abbreviated representation of a test run.\n",
              "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\ncases. An `inputParameters` object is used when users submit these\nparameters after a test request object is created, and is also used when\nreturning test request object information.\n",
        "type": "object",
        "properties": {
          "dns.gluePolicy": {
            "description": "The policy explicitly or implicitly applied to glue records, that is, the\nIPv4 and IPv6 addresses provided by registrars for nameservers.\n\nThe possible values of this input parameter are `narrow` and `wide`, which\nare taken from [Section 4 of\ndraft-koch-dns-glue-clarifications](https://datatracker.ietf.org/doc/html/draft-koch-dns-glue-clarifications-05#section-4):\n\n* \"narrow\": Glue RRs are published if the name server resides within or\n  below the delegated (child) zone.\n* \"wide\": Glue RRs are published if the name server resides below the\n  delegating (parent) zone.\n",
            "enum": [
              "narrow",
              "wide"
            ],
            "example": "narrow",
            "type": "string"
          },
          "dns.nameservers": {
            "description": "The set of nameservers that will be authoritative for the TLD.\n\nThis input parameter is an array containing objects representing TLDs, and\nthe corresponding nameservers.\n\nThere **MUST** be an entry for every TLD in the TLD set.\n",
            "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\n8484](https://www.rfc-editor.org/rfc/rfc8484.html)).\n",
                        "example": false,
                        "type": "boolean"
                      },
                      "supportsDoQ": {
                        "default": false,
                        "description": "Whether this nameserver supports DNS over Dedicated QUIC\nConnections ([RFC\n9250](https://www.rfc-editor.org/rfc/rfc9250.html)).\n",
                        "example": false,
                        "type": "boolean"
                      },
                      "supportsDoT": {
                        "default": false,
                        "description": "Whether this nameserver supports DNS over TLS ([RFC\n7858](https://www.rfc-editor.org/rfc/rfc7858.html)).\n",
                        "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\nTLD(s). This input parameter is an array containing objects representing\nTLDs, and the corresponding DS record(s).\n\nThere **MUST** be an entry for every TLD in the TLD set and there **MUST**\nbe at least one DS record for each TLD.\n",
            "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\nrollover.\n\nThis value of this input parameter **MUST NOT** be the same as the values of\nthe `dnssecOps.kskRolloverZone` and `dnssecOps.zskRolloverZone`\nparameters.\n",
            "example": "example.com",
            "format": "hostname",
            "type": "string"
          },
          "dnssecOps.csk": {
            "description": "A boolean indicating whether the RSP uses a Combined Signing Key (CSK,\nalso referred to as a \"Single Type Signing Scheme\") instead of a split\nKSK/ZSK configuration.\n",
            "example": false,
            "type": "boolean"
          },
          "dnssecOps.kskRolloverZone": {
            "description": "The domain name which will be monitored for the occurrence of a KSK\nrollover.\n\nThis value of this input parameter **MUST NOT** be the same as the values of\nthe `dnssecOps.zskRolloverZone` and `dnssecOps.algorithmRolloverZone`\nparameters.\n",
            "example": "example.com",
            "format": "hostname",
            "type": "string"
          },
          "dnssecOps.nameservers": {
            "description": "The set of nameservers that will be authoritative for the zones used in the\nDNSSEC operations test suite.\n",
            "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\nIPv4 or IPv6 address **MUST** be provided.\n",
            "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\nthe IANA registry at\n<https://www.iana.org/assignments/tsig-algorithm-names/tsig-algorithm-names.xhtml>.\n",
                "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\nrollover.\n\nThis value of this input parameter **MUST NOT** be the same as the values of\nthe `dnssecOps.kskRolloverZone` and `dnssecOps.algorithmRolloverZone`\nparameters.\n",
            "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\nin any case be ignored unless the value of the `general.registryDataModel`\ninput parameter is `per-registrar`.\n\n* A value of `minimum` means that this registrar does not need to specify a\n  registrant object when creating a domain name.\n* A value of `maximum` means that this registrar **MUST** specify a\n  registrant object when creating a domain name.\n\nIf the value of the `general.registryDataModel` input parameter is\n`per-registrar`, then the value of this input parameter **MUST** be\ndifferent from the value of the `epp.clid02DataModel` input parameter.\n",
            "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\nin any case be ignored unless the value of the `general.registryDataModel`\ninput parameter is `per-registrar`.\n\n* A value of `minimum` means that this registrar does not need to specify a\n  registrant object when creating a domain name.\n* A value of `maximum` means that this registrar **MUST** specify a\n  registrant object when creating a domain name.\n\nIf the value of the `general.registryDataModel` input parameter is\n`per-registrar`, then the value of this input parameter **MUST** be\ndifferent from the value of the `epp.clid01DataModel` input parameter.\n",
            "enum": [
              "minimum",
              "maximum"
            ],
            "example": "minimum",
            "type": "string"
          },
          "epp.greeting": {
            "description": "An XML instance which contains a copy of the server's `<greeting>`.\n",
            "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\nparameter are:\n  * `objects`\n  * `attributes`\n",
            "enum": [
              "objects",
              "attributes"
            ],
            "example": "objects",
            "type": "string"
          },
          "epp.hostName": {
            "description": "The fully-qualified domain name of the EPP server.\n\nThe server name **MUST** comply with the requirements for valid\nhostnames described in [RFC\n1123](https://www.rfc-editor.org/rfc/rfc1123.html), section 2.1.\nAdditionally, all IDN labels in the server name **MUST** comply with\nIDNA2008.\n",
            "example": "epp.rsp.tech",
            "format": "hostname",
            "type": "string"
          },
          "epp.loginExtension": {
            "description": "An EPP `<extension>` element containing the extension elements(s) which are\nrequired to succesfully log in to the EPP server.\n\nThe XML namespace URI(s) of the child elements(s) of the `<extension>`\nelement **MUST** appear in `<extURI>` elements in the `<greeting>`, and the\nextension(s) **MUST** be registered in the [EPP Extension\nRegistry](https://www.iana.org/assignments/epp-extensions/epp-extensions.xhtml).\n\nIf no extensions are required, this input parameter **MUST** be omitted. If\nprovided, its content will not be validated until the test run occurs, and\nif found to be invalid, the `EPP_INVALID_EXTENSION` error will be emitted.\n\n**Note:** the RST v2.0 service natively supports the [Login\nSecurity extension (RFC\n8807)](https://www.rfc-editor.org/rfc/rfc8807.html). If your EPP server\nimplements this extension, you **MUST NOT** include it in this input\nparameter.\n",
            "example": "<extension xmlns='urn:ietf:params:xml:ns:epp-1.0'>\n  <login xmlns=\"our:epp:extension\">\n    <!-- extension element(s) go here\n  </login>\n  <!-- any additional element(s) here -->\n</extension>\n",
            "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\nunavailable for registration.\n\nIf the value of `general.registryDataModel` is `minimum`, this parameter\n**MUST** be omitted. Otherwise, at least two contact IDs **MUST** be\nprovided.\n",
            "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\ntherefore unavailable for registration. The domains **MUST NOT** be under\nthe sponsorship of the `epp.clid01` or `epp.clid02` registrars. The array\n**MUST** contain one member for each TLD in the TLD set.\n",
            "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\ntherefore unavailable for registration.\n\nIf the value of `epp.hostModel` is `objects`, for each TLD in the TLD set,\nthis array **MUST** contain one hostname which is subordinate to that TLD.\n\nHowever, if it is `attributes`, this parameter **MUST** be omitted.\n",
            "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`\nparameter. It may be used to indicate those elements which are optional in\n[RFC 5733](https://www.rfc-editor.org/rfc/rfc5733.html) but are mandatory in\nthe server policy.\n\nAll elements that are listed in this parameter **MUST** also be listed in\nthe `epp.supportedContactElements` parameter.\n\nThis input parameter is an array of element tag names, optionally suffixed\nwith a colon (`:`) followed by an attribute name.\n\nIf the value of `general.registryDataModel` is `minimum`, this array `MUST`\nbe empty.\n",
            "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>`\nelement(s) that are required to successfully create a domain name.\n\nIf the value of `general.registryDataModel` is `minimum`, this array `MUST`\nbe empty.\n",
            "example": [
              "admin"
            ],
            "items": {
              "enum": [
                "admin",
                "tech",
                "billing"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "epp.secDNSInterfaces": {
            "description": "Which of the interfaces defined in Section 4 of [RFC\n5910](https://www.rfc-editor.org/rfc/rfc5910.html) the server supports\n(either `dsData` or `keyData`).\n",
            "enum": [
              "dsData",
              "keyData"
            ],
            "example": "dsData",
            "type": "string"
          },
          "epp.serverIssuedClientCertificate01": {
            "description": "If the EPP server uses a private CA to issue client certificates, then\na certificate generated using the CSR provided in the `epp.client01CSR`\nresource may be provided using this parameter. This certificate will only be\nused in conjunction with the `epp.clid01` and `epp.pwd01` credentials. If\nthe server will accept ICANN's own client certificate, this parameter\n**MUST** be empty.\n",
            "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\na certificate generated using the CSR provided in the `epp.client02CSR`\nresource may be provided using this parameter. This certificate will only be\nused in conjunction with the `epp.clid02` and `epp.pwd02` credentials. If\nthe server will accept ICANN's own client certificate, this parameter\n**MUST** be omitted.\n",
            "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),\nthe mandatory elements that **MUST** be included in contact `<create>`\ncommands are `<name>`, `<city>`, `<cc>` and `<email>`. RFC 5733 also\nspecifies a set of optional elements. To comply with RFC 5733, EPP\nservers **MUST** accept and process the mandatory elements, but **MAY**\nreject commands that contain optional elements.\n\nThis input parameter should be used to indicate which of the optional\nelements the EPP server supports.\n\nIf a value contains a colon (`:`), then the first part is the element name\nand the second part is an attribute name.\n\nElements that are listed in this parameter **MAY** also be listed in the\n`epp.requiredContactElements` parameter.\n\nIf the value of `general.registryDataModel` is `minimum`, this array `MUST`\nbe empty.\n",
            "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\nobjects, which values of the `type` attribute of `<contact:postalInfo>`\nelements are supported.\n\nA value of `both` indicates that both `int` and `loc` types are supported.\n",
            "enum": [
              "int",
              "loc",
              "both"
            ],
            "example": "int",
            "type": "string"
          },
          "general.registryDataModel": {
            "description": "This input parameter describes the data model(s) supported by the registry,\ndetermined in accordance with Section 7 of the Registration Data Policy. The\npossible values are:\n\n* `minimum`: the registry does not collect registrant contact information\n  from registrars. This policy applies to all registrars.\n* `maximum`: the registry requires the transmission of registrant contact\n  information from registrars for all registrations. This policy applies to\n  all registrars.\n* `per-registrar`: the registry may or may not require transmission of\n  registrant contact information, depending on whether there is an\n  appropriate legal basis, and a data processing agreement is in place\n  between the registry operator and the registrar. Therefore, the data model\n  is determined per-registrar rather than globally.\n\nIf the value of this parameter is `per-registrar`, then one of the registrar\naccounts specified by the `epp.clid01` and `epp.clid02` input parameters\n**MUST** be configured to use the minimum data model, and one **MUST** be\nconfigured to use the maximum data model. The `epp.clid01DataModel` and\n`epp.clid02DataModel` input parameters are used to identify the data model\nconfigured for each account.\n",
            "enum": [
              "minimum",
              "maximum",
              "per-registrar"
            ],
            "example": "minimum",
            "type": "string"
          },
          "idn.domainCreateExtension": {
            "description": "An EPP `<extension>` element containing the extension elements(s) which are\nrequired to succesfully perform a `<create>` command for an IDN domain.\n\nThe special token `<!-- tag -->` will (if present) be replaced with the\nlanguage tag of the domain being created.\n\nThe XML namespace URI(s) of the child elements(s) of the `<extension>`\nelement **MUST** appear in `<extURI>` elements in the `<greeting>`, and the\nextension(s) **MUST** be registered in the [EPP Extension\nRegistry](https://www.iana.org/assignments/epp-extensions/epp-extensions.xhtml).\n\nIf no extensions are required, this input parameter **MUST** be omitted. If\nprovided, its content will not be validated until the test run occurs, and\nif found to be invalid, `EPP_INVALID_IDN_EXTENSION` error will be emitted.\n",
            "example": "<extension xmlns='urn:ietf:params:xml:ns:epp-1.0'>\n  <create xmlns=\"our:epp:extension\">\n    <tag><!-- tag --></tag>\n  </create>\n  <!-- any additional element(s) here -->\n</extension>\n",
            "type": "string"
          },
          "integration.rdeSFTPDirectory": {
            "description": "The directory on the SFTP server where deposit files may be found.\n",
            "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\nperpetual trademark claims.\n",
            "example": "tmclaims.rsp.tech",
            "format": "hostname",
            "type": "string"
          },
          "minimumRPMS.sunriseModel": {
            "description": "The sunrise models supported by the EPP server. The possible values for\nthis parameter are:\n\n  * `start-date`\n  * `end-date`\n\n  These models are explained in Section 2 of the [Trademark Clearinghouse -\n  Rights Protection Mechanism\n  Requirements](https://newgtlds.icann.org/sites/default/files/rpm-requirements-14may14-en.pdf)\n  (PDF).\n",
            "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\nperpetual sunrise.\n",
            "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\neach TLD being tested.\n\nThe host name component of each URL **MUST** comply with the requirements\nfor valid hostnames described in [RFC\n1123](https://www.rfc-editor.org/rfc/rfc1123.html), section 2.1.\nAdditionally, all IDN labels in the host name **MUST** comply with IDNA2008.\n",
            "example": [
              {
                "baseURL": "https://rdap.example.com/example/",
                "tld": "example"
              }
            ],
            "items": {
              "properties": {
                "baseURL": {
                  "description": "The RDAP Base URL. The URL **MUST** have trailing slash (`/`). If\nspecified, the port **MUST** be 443.\n",
                  "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\nplease see <https://www.icann.org/gtld-rdap-profile>.\n\nFrom 2025-08-21 onwards, gTLD registries **MUST** implement the\nFebruary-2024 version of the gTLD RDAP profile.\n",
            "enum": [
              "february-2024"
            ],
            "example": "february-2024",
            "type": "string"
          },
          "rdap.testDomains": {
            "description": "The domain(s) that will be queried to validate domain responses. This\ninput parameter is an array of domain names, which **MUST** include at least\none domain name for each TLD being tested.\n",
            "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\ninput parameter is an array of objects. At least one entity **MUST** be\nprovided for each TLD being tested.\n",
            "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.\nThis input parameter is an array of objects. At least one nameserver\n**MUST** be provided for each TLD being tested.\n",
            "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\none of the TLDs that are associated with the test object.\n",
            "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\none or more extension in its `<extension>` element in order to succeed, then\nthis parameter can be used to provide the XML syntax that should be used.\n\nThis parameter should contain a valid EPP `<extension>` element containing\nall the extension elements that are required for the domain `<create>`\ncommand. This element will be imported into the domain `<create>` command\nframe before being sent to the server.\n\nThe XML namespace URIs of the child elements of the `<extension>` element\n**MUST** appear in `<extURI>` elements in the `<greeting>` and the\nextensions **MUST** be registered in the\n[EPP Extension Registry](https://www.iana.org/assignments/epp-extensions/epp-extensions.xhtml).\n\nIf no extensions are required, this input parameter **MUST** be omitted. If\nprovided, it will not be validated until the test run occurs, at which point\nan `SRSGW_EPP_INVALID_EXTENSION` error will be emitted.\n",
            "example": "<extension xmlns='urn:ietf:params:xml:ns:epp-1.0'>\n  <allocationToken xmlns='urn:ietf:params:xml:ns:allocationToken-1.0'>\n    abc123\n  </allocationToken>\n</extension>\n",
            "type": "string"
          },
          "srsgw.domainDeleteExtension": {
            "description": "This input parameter is used to provide the extension elements required to\nperform a domain `<update>` command through the SRS Gateway. Other than the\ndifferent EPP command it relates to, it is identical to the\n`srsgw.domainCreateExtension` element.\n",
            "example": "<!-- see srsgw.domainCreateExtension -->",
            "type": "string"
          },
          "srsgw.domainRenewExtension": {
            "description": "This input parameter is used to provide the extension elements required to\nperform a domain `<renew>` command through the SRS Gateway. Other than the\ndifferent EPP command it relates to, it is identical to the\n`srsgw.domainCreateExtension` element.\n",
            "example": "<!-- see srsgw.domainCreateExtension -->",
            "type": "string"
          },
          "srsgw.domainTransferApproveExtension": {
            "description": "This input parameter is used to provide the extension elements required to\nperform a domain `<transfer op=\"approve\">` command through the SRS Gateway.\nOther than the different EPP command it relates to, it is\nidentical to the `srsgw.domainCreateExtension` element.\n",
            "example": "<!-- see srsgw.domainCreateExtension -->",
            "type": "string"
          },
          "srsgw.domainTransferRequestExtension": {
            "description": "This input parameter is used to provide the extension elements required to\nperform a domain `<transfer op=\"request\">` command through the SRS Gateway.\nOther than the different EPP command it relates to, it is\nidentical to the `srsgw.domainCreateExtension` element.\n",
            "example": "<!-- see srsgw.domainCreateExtension -->",
            "type": "string"
          },
          "srsgw.eppClid01": {
            "description": "The username used to log in to the SRS Gateway EPP server. This username\nmust correspond to the same entity as that of the `epp.clid01` input\nparameter.\n",
            "example": "clid-01",
            "minLength": 3,
            "type": "string"
          },
          "srsgw.eppClid01DataModel": {
            "description": "The data model for the `srsgw.eppClid01` client. This may be omitted and\nwill in any case be ignored unless the value of the\n`srsgw.registryDataModel` input parameter is `per-registrar`.\n\nIf set, then the value of this input parameter **MUST** be different from\nthe value of the `srsgw.eppClid02DataModel` input parameter.\n",
            "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\nwill in any case be ignored unless the value of the\n`srsgw.registryDataModel` input parameter is `per-registrar`.\n\nIf set, then the value of this input parameter **MUST** be different from\nthe value of the `srsgw.eppClid01DataModel` input parameter.\n",
            "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\nmust correspond to the same entity as that of the `epp.clid02` input\nparameter.\n",
            "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\n`epp.requiredContactElements` input parameter but relates to the SRS Gateway\nEPP Server.\n",
            "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\n`epp.requiredContactTypes` input parameter but relates to the SRS Gateway\nEPP Server.\n",
            "example": [
              "admin"
            ],
            "items": {
              "enum": [
                "admin",
                "tech",
                "billing"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "srsgw.eppSupportedContactElements": {
            "description": "This input parameter has the same semantics as the\n`epp.supportedContactElements` input parameter but relates to the SRS Gateway\nEPP Server.\n",
            "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\nrequired to succesfully log in to the EPP server.\n\nThe XML namespace URI(s) of the child elements(s) of the `<extension>`\nelement **MUST** appear in `<extURI>` elements in the `<greeting>`, and the\nextension(s) **MUST** be registered in the [EPP Extension\nRegistry](https://www.iana.org/assignments/epp-extensions/epp-extensions.xhtml).\n\nIf no extensions are required, this input parameter **MUST** be omitted. If\nprovided, its content will not be validated until the test run occurs, and\nif found to be invalid, the `SRSGW_EPP_INVALID_EXTENSION` error will be\nemitted.\n\n**Note:** the RST v2.0 service natively supports the [Login\nSecurity extension (RFC\n8807)](https://www.rfc-editor.org/rfc/rfc8807.html). If your EPP server\nimplements this extension, you **MUST NOT** include it in this input\nparameter.\n",
            "example": "<extension xmlns='urn:ietf:params:xml:ns:epp-1.0'>\n  <login xmlns=\"our:epp:extension\">\n    <!-- extension element(s) go here\n  </login>\n  <!-- any additional element(s) here -->\n</extension>\n",
            "type": "string"
          },
          "srsgw.rdapBaseURLs": {
            "description": "The RDAP base URL(s) for the TLD(s).\n\nThe host name component of each URL **MUST** comply with the requirements\nfor valid hostnames described in [RFC\n1123](https://www.rfc-editor.org/rfc/rfc1123.html), section 2.1.\nAdditionally, all IDN labels in the host name **MUST** comply with IDNA2008.\n\nIf an RDAP Base URL includes a port, it **MUST** be 443.\n",
            "example": [
              {
                "baseURL": "https://rdap.example.com/example/",
                "tld": "example"
              }
            ],
            "items": {
              "properties": {
                "baseURL": {
                  "description": "The RDAP Base URL. The URL **MUST** have trailing slash (`/`).\n",
                  "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\nmay be different to that of the Primary EPP server (for example, because the\nGateway requires registrant information in order to verify their identity).\n\nIt has identical semantics to the `general.registryDataModel` input\nparameter.\n",
            "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\na certificate generated using the CSR provided in the `epp.client01CSR` may\nbe provided using this parameter. This certificate will only be used in\nconjunction with the `srsgw.eppClid01` and `srsgw.eppPwd01` credentials.\nIf the server will accept ICANN's own client certificate, this parameter\n**SHOULD** be omitted.\n",
            "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\na certificate generated using the CSR provided in the `epp.client02CSR` may\nbe provided using this parameter. This certificate will only be used in\nconjunction with the `srsgw.eppClid02` and `srsgw.eppPwd02` credentials.\nIf the server will accept ICANN's own client certificate, this parameter\n**SHOULD** be omitted.\n",
            "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\nproperty will be omitted.\n",
            "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:\n* `pass` - the test passed.\n* `fail` - the test was not passed.\n* `exception` - an error occurred which meant a result could not be\n  determined. This indicates an issue on the RST test system side,\n  not the test subject's.\n* `skipped` - the test case was not applicable and was not carried\n  out.\n* `aborted` - the test case was aborted before it could complete.\n",
            "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\nRFC5424.\n",
            "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\nimplementation of such a table.\n",
        "type": "object",
        "required": [
          "tag",
          "version",
          "isReferenceLGR",
          "permittedVariantPolicies",
          "testLabels"
        ],
        "properties": {
          "rsp": {
            "description": "The RSP's unique ID.\n\nIn OT&E, this **MUST** be omitted when creating a new IDN table,\nand will be populated using the FQDN of the first `TLSA` record\nwhich matches the certificate presented by the client.\n",
            "type": "string",
            "example": "RSPI2404-M51"
          },
          "tag": {
            "description": "The language tag, which **MUST** conform to the specification in [RFC\n5646](https://www.rfc-editor.org/rfc/rfc5646.html).\n",
            "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\ngeneration of domain names in TLDs that use this table.\n\nSome test cases require the generation and creation of domain names with\npseudo-randomly generated names. In TLDs whose value of the `idnOnly`\nproperty is `false`, ASCII letters and digits will be used.\n\nHowever, for TLDs for which this value is `true`, this list provides a set\nof characters that can be used to generate domain names.\n\nEach item in the array is a string containing one or more code points,\nseparated by spaces.\n",
            "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-\nLevel Reference Label Generation Rules (LGRs) developed by ICANN.\n\nFor more information on ICANN's Second-Level LGRS, please see:\n\n  * <https://www.icann.org/resources/pages/second-level-lgr-2015-06-21-en>\n",
            "type": "boolean"
          },
          "permittedVariantPolicies": {
            "description": "The variant policies supported for this table. This is an array of strings\nwhose permitted values are:\n\n* `allblockvar` - all variants are blocked\n* `mayallocatevar` - variants may be allocated\n",
            "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\nimplementation of such a table.\n",
        "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\nthis property is `false`, this table cannot be used in tests.\n\nIn OT&E, this **MUST** be omitted when creating a new IDN table.\n",
            "type": "boolean",
            "default": true
          },
          "rsp": {
            "description": "The RSP's unique ID.\n\nIn OT&E, this **MUST** be omitted when creating a new IDN table,\nand will be populated using the FQDN of the first `TLSA` record\nwhich matches the certificate presented by the client.\n",
            "type": "string",
            "example": "RSPI2404-M51"
          },
          "tag": {
            "description": "The language tag, which **MUST** conform to the specification in [RFC\n5646](https://www.rfc-editor.org/rfc/rfc5646.html).\n",
            "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\ngeneration of domain names in TLDs that use this table.\n\nSome test cases require the generation and creation of domain names with\npseudo-randomly generated names. In TLDs whose value of the `idnOnly`\nproperty is `false`, ASCII letters and digits will be used.\n\nHowever, for TLDs for which this value is `true`, this list provides a set\nof characters that can be used to generate domain names.\n\nEach item in the array is a string containing one or more code points,\nseparated by spaces.\n",
            "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-\nLevel Reference Label Generation Rules (LGRs) developed by ICANN.\n\nFor more information on ICANN's Second-Level LGRS, please see:\n\n  * <https://www.icann.org/resources/pages/second-level-lgr-2015-06-21-en>\n",
            "type": "boolean"
          },
          "permittedVariantPolicies": {
            "description": "The variant policies supported for this table. This is an array of strings\nwhose permitted values are:\n\n* `allblockvar` - all variants are blocked\n* `mayallocatevar` - variants may be allocated\n",
            "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\nsearch result.\n",
        "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\nthereof.\n",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/idnTestLabel"
            }
          },
          "unallocatableLabels": {
            "description": "A list of **unallocatable** IDN labels that it should not be\npossible to register.\n",
            "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.\n",
        "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\nthe table in question. In the context of a set of variant TLDs, this\nproperty may be used to determine which other TLDs in the set this\nlabel may be allocated in.\n",
            "type": "array",
            "minItems": 0,
            "x-constraints": "@ValidLanguageTagList",
            "items": {
              "type": "string",
              "example": "und-Arab"
            }
          },
          "variants": {
            "description": "A list of variant labels (if any).\n\nIf a TLD is not subject to rules relating to the allocatability of\nIDN variants, then this array **MUST** be empty.\n",
            "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\nthe IDN table in which the primary label is allocatable. In the\ncontext of a set of variant TLDs, this property may be used to\ndetermine the other TLDs in the set this label may be allocated in\n(otherwise it MUST be blocked). This array MAY be empty, in which\ncase the variant label MUST be blocked in all TLDs in the set.\n",
            "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\nvalues for this property may be found at\n<https://icann.github.io/rst-test-specs/rst-test-specs.html#test-plans>.\n",
        "type": "string",
        "enum": [
          "StandardPreDelegationTest",
          "PreDelegationTestWithSRSGateway",
          "StandardRSPChangeTest",
          "DNSRSPChangeTest",
          "StandardIDNTest",
          "SRSGatewayTest",
          "MainRSPEvaluationTest",
          "RSPEvaluationIDNTest",
          "DNSRSPEvaluationTest",
          "DNSSECRSPEvaluationTest",
          "SRSGatewayRSPTest",
          "AdditionalDNSTransportsTest",
          "StandardDNSOnly",
          "StandardDNSSECOnly",
          "StandardRDAPOnly",
          "StandardEPPOnly",
          "StandardRDEOnly",
          "StandardSRSGatewayOnly",
          "MinimumRPMsOnly",
          "DNSSECOperationsOnly",
          "StandardIntegrationTestOnly"
        ]
      }
    }
  }
}
