{
    "openapi": "3.0.0",
    "info": {
      "title": "NS1_CLOUD",
      "description": "This is the documentation for NS1's API (v1), which allows you to manage your zones and records, data sources and feeds, account settings and users, and other aspects of your NS1 account. The NS1 API is a standard REST API with JSON responses. The HTTP method you use — `GET`, `PUT`, `POST`, or `DELETE` — determines the kind of action to be taken by the API. In the case of PUT and POST requests, you will generally send us a JSON body in your request with the details of the resource you're creating or updating. Most API requests are authenticated with a simple API Key, which you must specify in the **X-NSONE-Key** request header. You can manage your API Keys in the Managed DNS portal (**my.nsone.net**) or within your Private DNS/DDI portal. You should treat your API Keys as secrets. You should also give them only the minimal access needed for your application.\n",
      "contact": {
        "email": "support@itential.com"
      },
      "version": "1.0.0"
    },
    "servers": [
      {
        "url": "https://api.nsone.net/v1/",
        "variables": {}
      }
    ],
    "paths": {
      "/zones": {
        "get": {
          "tags": [
            "Zones"
          ],
          "summary": "View a list of active zones",
          "description": "Returns all active zones and basic zone configuration details for each. \n\n**Note**: For users with over 2500 zones, the response will be paginated to 2500 zones per page. To access the following zones, request the link in the **Link** response header, this follows the Web Linking standard (RFC 5988)\n",
          "operationId": "Viewalistofactivezones",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Zone"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/zones/{zone}": {
        "get": {
          "tags": [
            "Zones"
          ],
          "summary": "View zone details",
          "description": "Returns a single active zone and its basic configuration details. For convenience, a list of records in the zone, and some basic details of each record, is also included.\n\nNote: For zones with over 2500 records, the response will be paginated to 2500 records per page. To access the following records, request the link in the Link response header, this follows the Web Linking standard (RFC 5988)\n",
          "operationId": "Viewzonedetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Zone"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Zones"
          ],
          "summary": "Modify a zone",
          "description": "Modifies the basic details of a DNS zone. You must include a JSON body in the request, in which you may include ttl (SOA record TTL), refresh, retry, expiry, or nx_ttl values, as in a SOA record. You may not change the zone name or other details.\n\nIf you are modifying a secondary zone, you can change the primary_ip and primary_port. You can also change enabled in the secondary object to convert a zone between primary and secondary behavior. Note that when converting a secondary to a primary zone, you must create a NS record for the zone with the assigned NSONE nameservers.\n\nYou can enable or disable replication from the primary zone, as well as add or remove secondary (replica) hosts by manipulating the primary object.\n\nYou may modify the set of DNS networks for which the zone should be made available. Note that if you remove a network from a zone, and later re-add it, then new nameservers will be assigned within that network. You may remove all networks from a zone, in which case the zone will not be accessible from any DNS network.\n",
          "operationId": "Modifyazone",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "DNS Zone Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Zone"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Zone"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Zones"
          ],
          "summary": "Create a new zone",
          "description": "You must include a JSON body in the request with basic details of the zone. The only required element in the body is zone, the zone domain name. You can create a standard zone (which has its own configuration and records), a linked zone (pointing to an existing standard zone, reusing its configuration and records), or a secondary zone (which replicates DNS records from an external primary DNS server). For non-linked zones, you may specify optional zone configuration by including ttl (SOA record TTL), refresh, retry, expiry, and nx_ttl values, as in a SOA record. The zone is assigned DNS servers and appropriate NS records are automatically created, unless you create a secondary zone.\n\n  To create a linked zone, you must include a link property in the body of your request. It must be a string which references the target zone (domain name) to link to. The target zone must be owned by the same account that is creating the linked zone. If the linkproperty is specified, no other zone configuration properties (such as refresh, retry, etc) may be specified, since they are all pulled from the target zone. Linked zones, once created, cannot be configured at all and cannot have records added to them. They may only be deleted, which does not affect the target zone at all.\n  \n  To create a secondary zone, you must include a secondary object in the body of your request including fields enabled (true/false, if true the zone is configured as a secondary zone); and primary_ip(an IPv4 address, not a hostname, for the primary DNS server for the zone). If your primary DNS server is running on a non-standard port, you may also include primary_port.\n  \n  To enable zone replication by third-party DNS servers, you must include a primary object in the body of your request including fields enabled (true/false, if true then AXFR queries and optionally NOTIFY messages will be enabled for the zone); and secondaries, a list of objects each containing ip (IPv4 address of the secondary node), port (optional, port on host to send NOTIFYmessages, default 53), and notify (true/false, if true then we will send NOTIFY messages to the secondary host when the zone changes).\n  \n  If your account has access to multiple DNS networks, you may pass in networks, a list of network ids for which the zone should be made available. If you do not provide a list of networks, the zone will be created in network 0, the primary NSONE Global Network. DNS servers will be selected and assigned from among all the networks you specify.\n",
          "operationId": "Createanewzone",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "DNS Zone Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Zone"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Zone"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Zones"
          ],
          "summary": "Delete a zone & all associated records",
          "description": "Deletes an existing DNS zone and all of its associated records.\n\nNote: NS1 servers will not respond to queries for the zone or any of the records after it is deleted, and you cannot recover the deleted zone. There is no request body required, and there is no response other than the HTTP status code.\n",
          "operationId": "Deleteazone&allassociatedrecords",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/zones/{zone}/dnssec": {
        "get": {
          "tags": [
            "Zones"
          ],
          "summary": "View DNSSEC details for a zone",
          "description": "Returns public key information including DNSKEY and DS record information.",
          "operationId": "ViewDNSSECdetailsforazone",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "public key information including DNSKEY and DS record information.",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "public key information including DNSKEY and DS record information."
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/import/zonefile/{zone}": {
        "get": {
          "tags": [
            "Zones"
          ],
          "summary": "View status of zone file import",
          "description": "Get the status, and if finished, results of, a zone file import job launched with a PUT request to /import/zonefile/:zone. The jobid is the value of the id field in the response of an asynchronous import request. If the zone file import is finished, the response includes the fields response (body containing import request results), and response_code (final HTTP status code for the import request).\n",
          "operationId": "Viewstatusofzonefileimport",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "Import Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Zones"
          ],
          "summary": "Import a zone from a zone file",
          "description": "Upload a zone file, using form encoding (multipart/form-data) with the zone file as the content of the zonefile form parameter. The zone must not already exist in your account. It will be created, as will all records in the zone file. Any round-robin records (e.g., multiple A records for the same domain) will be treated as answers for a single combined record in your account. Existing NS records will be replaced, as will some details of SOA records.\n\nThere are two modes: synchronous (default) and asynchronous. In asynchronous mode, you must check back with a GET request using the returned job id to get the results of your request. In synchronous mode, the connection remains open until the results can be returned to you directly. Full details of the new zone and all records are returned; a warnings field contains a list of strings with any warnings from the zone file import process.\n\nUpon import, the zone will be made available only on the NSONE Global Network (network 0). If your account has access to other DNS networks and you wish to make the zone available via those networks, simply add them to the zone after importing the zone file.\n",
          "operationId": "Importazonefromazonefile",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "async",
              "in": "query",
              "description": "Run Asynchronously",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "boolean"
              }
            }
          ],
          "requestBody": {
            "content": {
              "multipart/form-data": {
                "encoding": {},
                "schema": {
                  "type": "object",
                  "properties": {
                    "zoneFile": {
                      "type": "string",
                      "description": "DNS Zone File",
                      "format": "binary"
                    }
                  }
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Zone"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/search": {
        "get": {
          "tags": [
            "Zones"
          ],
          "summary": "Search zones and records",
          "description": "Returns all zones and records that match a query string q. You can limit the max number of results and you can restrict the type of results to zone, record, or all. Entries in the response without domain/type are zones, and those with domain/type are records.",
          "operationId": "Searchzonesandrecords",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "q",
              "in": "query",
              "description": "Query Parameters",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "max",
              "in": "query",
              "description": "Max Number of Results",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "integer",
                "format": "int32"
              }
            },
            {
              "name": "type",
              "in": "query",
              "description": "Type of Results",
              "style": "form",
              "explode": true,
              "schema": {
                "$ref": "#/components/schemas/type"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Zone"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/networks": {
        "get": {
          "tags": [
            "Zones"
          ],
          "summary": "List available networks",
          "description": "Some customers may have access to DNS networks other than the primary NSONE Global Network. This endpoint lists all networks for which you may create zones and records. You will generally always have access to the NSONE Global Network (network 0).",
          "operationId": "Listavailablenetworks",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Network"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/zones/{zone}/{domain}/{type}": {
        "get": {
          "tags": [
            "Records"
          ],
          "summary": "View record configuration details",
          "description": "Returns full configuration for a DNS record including basic config, answers, regions, filter chain configuration, and all metadata tables and data feeds attached to entities in the record. (Note that regions might be any specified grouping, not necessarily a geo-related region. For this reason, the NS1 web portal at my.nsone.net uses the word \"group\" instead of \"region\".)\n\nYou must fully specify zone, domain, and record type, e.g., example.com/www.example.com/A returns the A record for www.example.com in the example.com zone.\n",
          "operationId": "Viewrecordconfigurationdetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "domain",
              "in": "path",
              "description": "DNS Domain Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "type",
              "in": "path",
              "description": "DNS Record Type",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DNSRecord"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Records"
          ],
          "summary": "Update record configuration",
          "description": "Modifies configuration details for an existing DNS record.",
          "operationId": "Updaterecordconfiguration",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "domain",
              "in": "path",
              "description": "DNS Domain Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "type",
              "in": "path",
              "description": "DNS Record Type",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "DNS Record Configuration Parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DNSRecord"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DNSRecord"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Records"
          ],
          "summary": "Create a new DNS record",
          "description": "Creates a new DNS record in the specified zone, for the specified domain, of the given record type. Currently supported record types are: A, AAAA, ALIAS, AFSDB, CERT, CNAME, DNAME, HINFO, MX, NAPTR, NS, PTR, RP, SPF, SRV, TXT. The answer field within each entry in the answers list must be a list of the RDATA fields for a DNS record of the specified type.\n\n  You may not create multiple records of the same type for the same domain name in a zone — instead, add new answers to the existing record. The default behavior if no filters are in the filter chain is to return all answers matching a query.\n  \n  Metadata tables (meta) may be specified in answers, in regions or in the record as a whole. (Note that regions can be any kind of group, not just geo-related. For this reason, the NS1 web portal at my.nsone.net uses the word \"group\" instead of \"region\".) The metadata tables may contain key/value pairs where valid keys and values are as described in the output of /metatypes.\n  \n  Anywhere metadata tables can go, data feeds can go as well. Connect a compatible feed to a metadata key by assigning its value to be a JSON object pointing to the data feed that should be consulted for the final value.\n  \n  The new record will take on the same networks as the zone it's in.\n  \n  Instead of specifying answers and other details, you may create a \"linked\" record. This allows you reuse the configuration (including answers and metadata) from an existing record in NSONE's systems. Linked records will respond in the exact same way as their targets at DNS resolution time, and can be used for maintaining complicated record configurations in a single record while pointing (linking) other lightweight records to it. Linked records must point to another record of the exact same record type and do not have to exist in the same zone.\n  \n  To create a linked record, specify the link property as a string whose contents is the FQDN containing the config it should link to. If link is specified, no other record configuration (such as answersor meta) should be specified.\n",
          "operationId": "CreateanewDNSrecord",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "domain",
              "in": "path",
              "description": "DNS Domain Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "type",
              "in": "path",
              "description": "DNS Record Type",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Record Creation Parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DNSRecord"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DNSRecord"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Records"
          ],
          "summary": "Delete a record",
          "description": "Removes an existing record and all associated answers and configuration details. We will no longer respond for this record once it is deleted, and it cannot be recovered, so use caution. Note: This operation deletes all answers associated with the domain and record type. If you want to delete individual answers, do a POSToperation to update the record's answers list. This method has no response other than the HTTP status code.\n",
          "operationId": "Deletearecord",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "domain",
              "in": "path",
              "description": "DNS Domain Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "type",
              "in": "path",
              "description": "DNS Record Type",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/metatypes": {
        "get": {
          "tags": [
            "Records"
          ],
          "summary": "View available metadata",
          "description": "Returns a list of available metadata fields for use in configuring records, including descriptions (in HTML).",
          "operationId": "Viewavailablemetadata",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/filtertypes": {
        "get": {
          "tags": [
            "Records"
          ],
          "summary": "View available filters",
          "description": "Returns a list of available FILTERS for use in configuring dynamic records, including descriptions (in HTML), configuration options, and metadata inputs used by the filter, along with any restrictions on record types where the filter may be used.",
          "operationId": "Viewavailablefilters",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/metatypes/geo": {
        "get": {
          "tags": [
            "Records"
          ],
          "summary": "View available geographic metadata",
          "description": "Returns a list of available geographic metadata used by the “Geo-target Country” and “Geo-fence Country” filters . Note that the response will be long. The example response below is truncated for readability.",
          "operationId": "Viewavailablegeographicmetadata",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/data/sourcetypes": {
        "get": {
          "tags": [
            "Data Sources"
          ],
          "summary": "View available data sources types",
          "description": "Returns a list of all available data source types. For any third party data sources, you must have an account with the provider. Frequently, there are additional steps you must take with the provider to connect your data source — these are explained in the desc field which is HTML. Response includes any config options for the data source, required or optional; and any feed_config options for data feeds connected to the source.",
          "operationId": "Viewavailabledatasourcestypes",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/data/sources": {
        "get": {
          "tags": [
            "Data Sources"
          ],
          "summary": "View active data sources",
          "description": "Returns a list of all connected data sources, and for each data source, all connected feeds including connected metadata table destinations.",
          "operationId": "Viewactivedatasources",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataSource"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Data Sources"
          ],
          "summary": "Connect a new data source",
          "description": "Creates a new data source. You may create multiple data sources of the same type, e.g., to correspond to different accounts with a data provider. The config for the source must contain fields corresponding to the config description in /data/sourcetypes for the sourcetype you specify. Some data sources are immediately connected; others enter a pending state awaiting activity from the data source, e.g., a verification request. See the documentation for the source from /data/sourcetypes.",
          "operationId": "Connectanewdatasource",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "config",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/config"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DataSource"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/data/sources/{sourceid}": {
        "get": {
          "tags": [
            "Data Sources"
          ],
          "summary": "View a single data source",
          "description": "Returns the details for a single data source, including configuration, all connected data feeds, and within data feeds, any connected metadata table (destinations).",
          "operationId": "Viewasingledatasource",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DataSource"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Data Sources"
          ],
          "summary": "Modify a data source",
          "description": "Modifies basic details or configuration of a data source. You must include a JSON body in the request. You may update name and config details.",
          "operationId": "Modifyadatasource",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Data Source Configuration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataSource"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DataSource"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Data Sources"
          ],
          "summary": "Delete a data source",
          "description": "Removes an existing data source and all connected feeds from the source. By extension, all metadata tables connected to those feeds will no longer receive updates. We will no longer accept updates on the Feed URL for this data source. This method has no response other than the HTTP status code.",
          "operationId": "Deleteadatasource",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/data/feeds/{sourceid}": {
        "get": {
          "tags": [
            "Data Feeds"
          ],
          "summary": "View active data feeds for a source",
          "description": "Returns all data feeds connected to a source. Includes config details for each feed which match the feed_config specification from /data/sourcetypes, and also includes a list of metadata tables that are destinations for each feed.",
          "operationId": "Viewactivedatafeedsforasource",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataFeed"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Data Feeds"
          ],
          "summary": "Publish data from a data source",
          "description": "This is the Feed URL for a data source. Many data sources connect directly to this URL to feed data to NSONE, and in general you must configure them to do so according to the instructions for the data source (see /data/sourcetypes). The request sent to this URL depends on the type of the data source — usually, each data source has its own request protocol. For convenience, this URL accepts GET, PUT, and POST requests, but POST is preferred.\n\nYou can feed data to the Feed URL directly for your NSONE API data sources (sourcetype of nsone_v1), as shown in the example.\n\nUpdates sent to the Feed URL that match any data feeds connected to the data source are applied to all destinations in the feeds and pushed out to our DNS network instantly.\n",
          "operationId": "Publishdatafromadatasource",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "update",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "description": "update"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Data Feeds"
          ],
          "summary": "Connect a new data feed to a data source",
          "description": "Given an existing data source, connects a new data feed to the source with a given (freeform) name and config matching the specification in feed_config from /data/sourcetypes. In this example, we connect a Rackspace Cloud Monitoring Alarm (using the Rackspace Alarm id and Entity id for the Alarm). To subsequently connect the feed to destinations (such as record answers), you should modify the record to connect a specific metadata key (which the feed is compatible with) via a feed pointer object to this feed id. See the documention for /zones/:zone/:domain/:type.",
          "operationId": "Connectanewdatafeedtoadatasource",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Data Feed Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataFeed"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DataFeed"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/data/feeds/{sourceid}/{feedid}": {
        "get": {
          "tags": [
            "Data Feeds"
          ],
          "summary": "View data feed details",
          "description": "Returns the details of a single data feed, including config details and any record, region, or answer metadata table destinations.",
          "operationId": "Viewdatafeeddetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "feedid",
              "in": "path",
              "description": "Data Feed ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DataFeed"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Data Feeds"
          ],
          "summary": "Modify a data feed",
          "description": "You may update name or config.\n\nTo connect the feed to destinations (such as record answers), you should instead modify the record to connect a specific metadata key (which the feed is compatible with) via a feed pointer object to this feed id. See the documention for /zones/:zone/:domain/:type.\n",
          "operationId": "Modifyadatafeed",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "feedid",
              "in": "path",
              "description": "Data Feed ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Data Feed Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataFeed"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/DataFeed"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Data Feeds"
          ],
          "summary": "Disconnect a data feed",
          "description": "The feed will be disconnected from the data source and all attached destination metadata tables. The data source will not be removed and updates to remaining connected data feeds will still be processed.",
          "operationId": "Disconnectadatafeed",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "sourceid",
              "in": "path",
              "description": "Data Source ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "feedid",
              "in": "path",
              "description": "Data Feed ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/monitoring/jobs": {
        "get": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "List monitoring jobs",
          "description": "Returns the list of all monitoring jobs for the account, including configuration and current status details. Job status is shown per region, including the \"global\" region indicating the overal status of the monitoring job computed based on the status policy from the regional statuses. Status values both globally and per region include up, down, and pending.",
          "operationId": "Listmonitoringjobs",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Job"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "Create a new monitoring job",
          "description": "Create a new monitoring job",
          "operationId": "Createanewmonitoringjob",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Monitoring Job Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Job"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/monitoring/jobs/{jobid}": {
        "get": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "View monitoring job details",
          "description": "Returns details for a specific monitoring jobs based on its id, including configuration and current status details. Job status is shown per region, including the \"global\" region indicating the overal status of the monitoring job computed based on the status policyfrom the regional statuses. Status values both globally and per region include up, down, and pending.",
          "operationId": "Viewmonitoringjobdetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "jobid",
              "in": "path",
              "description": "Monitoring Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Job"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "Update details of a monitoring job",
          "description": "Change the configuration details of an existing monitoring job. See the documentation for PUT /monitoring/jobs for a detailed explanation of the input.",
          "operationId": "Updatedetailsofamonitoringjob",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "jobid",
              "in": "path",
              "description": "Monitoring Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Monitoring Job Object",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "description": "Monitoring Job Object"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Job"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "Remove a monitoring job",
          "description": "Immediately terminates and deletes an existing monitoring job. There is no response other than the HTTP status code.",
          "operationId": "Removeamonitoringjob",
          "parameters": [
            {
              "name": "jobid",
              "in": "path",
              "description": "Monitoring Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/monitoring/history/{jobid}": {
        "get": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "View historical status of monitoring job",
          "description": "Returns historical status details of a monitoring job (if jobid is included in the URL) or of all monitoring jobs under the account (if no jobid is specified). You may restrict the time period to show with start and end (Unix timestamps) or by specifying a period (one of 1h, 24h, or 30d); limit the number of results with limit; and restrict to results from a specific region code. You may also specify exact (a boolean, if true you must also specify start): then, the status as of the exact start and end times is computed and returned as part of the status history.\n",
          "operationId": "Viewhistoricalstatusofmonitoringjob",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "jobid",
              "in": "path",
              "description": "Monitoring Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "start",
              "in": "query",
              "description": "Absolute start time in UNIX timestamp",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "end",
              "in": "query",
              "description": "Absolute end time in UNIX timestamp (defaults to current time)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "",
              "style": "form",
              "explode": true,
              "schema": {
                "$ref": "#/components/schemas/Period"
              }
            },
            {
              "name": "limit",
              "in": "query",
              "description": "Maximum number of results",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "region",
              "in": "query",
              "description": "Region Code",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "exact",
              "in": "query",
              "description": "Exact Match",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "boolean"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Job"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/monitoring/metric/{jobid}": {
        "get": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "View historical metrics for monitoring job",
          "description": "Returns historical metrics generated by monitoring jobs, such as response time, packet loss, TCP connect time, etc. The metrics in the response depend on the job — metrics available for each job type are returned by /monitoring/jobtypes. If you include a jobid in the URL, only metrics for that job are returned; otherwise, metrics for all jobs are returned subject to the other filtering parameters, which include:\n\n  - region: a region code; may be either global or a specific region as listed in /monitoring/regions. You may only specify this parameter if you also specify a specific jobid. Only metrics from the specific region are returned. If global, the average value of the metric across all active regions is returned.\n  \n  - metric: a metric name, e.g. rtt or connect. Valid metric names are described by /monitoring/jobtypes and depend on the type of monitoring job. Only metrics for jobs providing a matching metric name will be returned.\n  \n  - period: one of 1h, 24h, or 30d depending on the length of history you wish to retrieve. The number and interval of the data po s returned depends on the period. The response is a list of \"metrics\" objects, each containing jobid, region, and metrics fields. The metric field is a mapping of metric names to statistics objects including the average value of the metric over the period (excluding times when no data was collected), and a graph for the metric over the period.\n",
          "operationId": "Viewhistoricalmetricsformonitoringjob",
          "parameters": [
            {
              "name": "jobid",
              "in": "path",
              "description": "Monitoring Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "region",
              "in": "query",
              "description": "Region code",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "metric",
              "in": "query",
              "description": "",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "",
              "style": "form",
              "explode": true,
              "schema": {
                "$ref": "#/components/schemas/Period"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/inline_response_200"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/monitoring/jobtypes": {
        "get": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "List available monitoring job types",
          "description": "Returns the list of all available monitoring jobs types, and details of configuration options for each job type.",
          "operationId": "Listavailablemonitoringjobtypes",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/inline_response_200_1"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/monitoring/regions": {
        "get": {
          "tags": [
            "Monitoring Jobs"
          ],
          "summary": "List available monitoring regions",
          "description": "List available monitoring regions description:Returns the list of all available monitoring regions, including display name for the region, the region code to use when provisioning, and the list of all subnets from which monitoring traffic is generated in each region. The response below is using subnets from the documentation address blocks (RFC 5737 and RFC 3849) do not use them in your access lists.\n",
          "operationId": "Listavailablemonitoringregions",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/inline_response_200_2"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/lists": {
        "get": {
          "tags": [
            "Notification Lists"
          ],
          "summary": "List all notification lists",
          "description": "Returns all configured notification lists. Each list consists of a name, an id for use in connecting notification lists in monitoring jobs, and a notify_list of configured notifiers.",
          "operationId": "Listallnotificationlists",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/LIST"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Notification Lists"
          ],
          "summary": "Create a new notification list",
          "description": "Creates a new list for notifications. You may specify a freeform display name for the list. The notify_list itself is a list of notifier objects including notifier type and a config dictionary with configuration details for the given notifier type. Available notifiers are indicated in /notifytypes. All notifiers in a notification list will receive notifications whenever an event is send to the list (e.g., when a monitoring job fails).",
          "operationId": "Createanewnotificationlist",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Notification List Object",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "description": "Notification List Object"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/LIST"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/lists/{listid}": {
        "get": {
          "tags": [
            "Notification Lists"
          ],
          "summary": "View notification list details",
          "description": "Gets the details and notifiers associated with a specific notification list.",
          "operationId": "Viewnotificationlistdetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "listid",
              "in": "path",
              "description": "Notification List ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/LIST"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Notification Lists"
          ],
          "summary": "Update a notification list",
          "description": "Add or remove entries or otherwise update a notification list.",
          "operationId": "Updateanotificationlist",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "listid",
              "in": "path",
              "description": "Notification List ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Notification List Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LIST"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/LIST"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Notification Lists"
          ],
          "summary": "Remove a notification list",
          "description": "Immediately deletes an existing notification list. Any monitoring jobs configured to notify this list will stop sending notifications until reconfigured to notify a different list. There is no response other than the HTTP status code.",
          "operationId": "Removeanotificationlist",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "listid",
              "in": "path",
              "description": "Notification List ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/notifytypes": {
        "get": {
          "tags": [
            "Notification Lists"
          ],
          "summary": "List available notification types",
          "description": "Returns the list of all available notifiers for delivery of monitoring status notifications, and details of configuration options for each notification type.",
          "operationId": "Listavailablenotificationtypes",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/inline_response_200_3"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/settings": {
        "get": {
          "tags": [
            "Account Management | General"
          ],
          "summary": "View account contact details and settings",
          "description": "Returns the basic contact details associated with your account.",
          "operationId": "Viewaccountcontactdetailsandsettings",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Contact"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Account Management | General"
          ],
          "summary": "Modify contact details and settings",
          "description": "You may change most of your basic contact details, except customerid.",
          "operationId": "Modifycontactdetailsandsettings",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Account Details Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Contact"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/usagewarnings": {
        "get": {
          "tags": [
            "Account Management | General"
          ],
          "summary": "View overage alert settings",
          "description": "Returns toggles and thresholds used when sending overage warning alert messages to users with billing notifications enabled.",
          "operationId": "Viewoveragealertsettings",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/inline_response_200_4"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Account Management | General"
          ],
          "summary": "Modify overage alerting settings",
          "description": "Changes alerting toggles and thresholds for overage warning alert messages. First thresholds (warning_1) must be smaller than second ones (warning_2) and all thresholds must be percentages between 0 and 100.",
          "operationId": "Modifyoveragealertingsettings",
          "parameters": [],
          "requestBody": {
            "description": "Account Details Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accountDetails"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/accountDetails"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/users": {
        "get": {
          "tags": [
            "Account Management | User"
          ],
          "summary": "View all account users",
          "description": "Returns a list of all users with access to the account. Notification settings (notify) and access restrictions (permissions) are included. If any specific access right is omitted from permissionsthen it defaults to true (allowed). In the example below, \"New User\" is only allowed to manage the example.com zone and can do nothing else in the account; \"API Example\" has full permissions.\n\nUsers may belong to \"Teams\" in which case they inherit the permissions of the Teams. If a user belongs to multiple Teams, then they inherit the union of permissions of the Teams they belong to. For example, if a user belongs to two Teams, and one Team has the dns.manage_zones permission and the other does not, then the user will have that permission.\n\nIf a user does not belong to any Teams, then their permissions may be modified directly and are just for them. If a user does belong to one or more Teams, then the permissions returned with the user are the computed permissions from all the Teams to which they belong and may not be modified directly (instead, modify the relevant Team permissions).\n",
          "operationId": "Viewallaccountusers",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/User"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/users/{username}": {
        "get": {
          "tags": [
            "Account Management | User"
          ],
          "summary": "View user details",
          "description": "Returns the details for a single user.",
          "operationId": "Viewuserdetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "username",
              "in": "path",
              "description": "Account User Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/User"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Account Management | User"
          ],
          "summary": "Update a user's details",
          "description": "Change contact details, notification settings, or access rights for a user.\n\nIf the user belongs to any Teams or you are adding the user to their first Team, you may not directly set permissions for the user. If you are removing the user from all Teams to which they belong, and you do not explicitly set permissions, their permissions will be set equivalently to what they were as a member of the Teams. You can restrict access to this user by adding IP addresses or CIDR blocks in the ip_whitelist array property. i.e. ip_whitelist: ['104.20.48.182', '104.20.49.0/24'].\n",
          "operationId": "Updateauser'sdetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "username",
              "in": "path",
              "description": "Account User Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "NS1 User Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/User"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Account Management | User"
          ],
          "summary": "Add user to account",
          "description": "Creates a new user. An invitation email will be sent to the user's email address, which they can click to set a password and log into my.nsone.net. The user cannot log in until they accept the invitation and set a password.\n\nIf you add the user to one or more Teams, they will inherit the permissions of those teams and any permissions you include in the request body will be ignored. If the user is not added to any Teams, then you may explicitly set permissions for the user. You can restrict access to this user by adding IP addresses or CIDR blocks in the ip_whitelist array property. i.e. ip_whitelist: ['104.20.48.182', '104.20.49.0/24'].\n",
          "operationId": "Addusertoaccount",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "username",
              "in": "path",
              "description": "Account User Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "NS1 User Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/User"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Account Management | User"
          ],
          "summary": "Remove a user",
          "description": "Deletes a user from the account. They will no longer be able to log into my.nsone.net. There is no response other than the HTTP status code.",
          "operationId": "Removeauser",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "username",
              "in": "path",
              "description": "Account User Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/reinvite/{username}": {
        "post": {
          "tags": [
            "Account Management | User"
          ],
          "summary": "Resend invitation to a user",
          "description": "In case a new user did not receive their invitation email, or in case the invitation has expired, you may re-send the invitation. However, if the user has already logged in, you may not re-send the invitation — they should click the \"Forgot Password\" link to verify their email address and reset their password. There is no response other than the HTTP status code.",
          "operationId": "Resendinvitationtoauser",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "username",
              "in": "path",
              "description": "Account User Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "NS1 User Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/apikeys": {
        "get": {
          "tags": [
            "Account Management | API Key"
          ],
          "summary": "View all API keys",
          "description": "Returns a list of all API Keys under the account, including access rights (permissions) and the actual key to be used when contacting the NSONE API. API keys may belong to teams with the same semantics as Users.",
          "operationId": "ViewallAPIkeys",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/APIKey"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Account Management | API Key"
          ],
          "summary": "Create a new API Key",
          "description": "Creates a new API Key. You should explicitly restrict access rights for the API Key to include only what the application requires. If you add the API Key to one or more Teams, you may not directly set its permissions and the API Key will inherit access rights from its Teams. The new API Key string is returned in the key field in the response — keep it secret, keep it safe. If it is compromised, delete the API Key immediately. You can restrict access to this key by adding IP addresses or CIDR blocks in the ip_whitelist array property. i.e. ip_whitelist: ['104.20.48.182', '104.20.49.0/24'].\n",
          "operationId": "CreateanewAPIKey",
          "parameters": [],
          "requestBody": {
            "description": "API Key Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIKey"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/APIKey"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/apikeys/{keyid}": {
        "get": {
          "tags": [
            "Account Management | API Key"
          ],
          "summary": "View API key details",
          "description": "Returns details, including permissions, for a single API Key. Note: do not use the API Key itself as the keyid in the URL — use the id of the key. Keep the API Key string secret — it grants access to your account!\n",
          "operationId": "ViewAPIkeydetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "keyid",
              "in": "path",
              "description": "API Key ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/APIKey"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Account Management | API Key"
          ],
          "summary": "Modify details of an API Key",
          "description": "Change name or access rights for an API Key. You can restrict access to this user by adding IP addresses or CIDR blocks in the ip_whitelist array property. i.e. ip_whitelist: ['104.20.48.182', '104.20.49.0/24'].\n",
          "operationId": "ModifydetailsofanAPIKey",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "keyid",
              "in": "path",
              "description": "API Key ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "API Key Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIKey"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/APIKey"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Account Management | API Key"
          ],
          "summary": "Delete an API Key",
          "description": "Deletes an API Key. Any applications, scripts, or tools you have that are using this API Key will no longer be able to access your account. There is no response other than the HTTP status code.",
          "operationId": "DeleteanAPIKey",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "keyid",
              "in": "path",
              "description": "API Key ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/teams": {
        "get": {
          "tags": [
            "Account Management | Team"
          ],
          "summary": "View all teams",
          "description": "Returns a list of all teams associated with the account—including access rights (permissions) associated with users and API keys in the team.\n",
          "operationId": "Viewallteams",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Team"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Account Management | Team"
          ],
          "summary": "Create a new Team",
          "description": "Creates a new Team. You should explicitly restrict access rights for the Team to include only what team members will require. Once you have created a Team, you may add Users and API Keys to the team by adding the Team to the team field in the User and API Key objects. You can restrict access to this team by adding IP whitelist records in the ip_whitelist array property. Compared to users and apikeys, teams support names on whitelist records. i.e. ip_whitelist: [ {'name': 'Home Whitelist', 'values': ['104.20.48.182'], {'name': 'Multi Whitelist', 'values': ['104.20.49.0/24', '104.20.50.1']} ].\n",
          "operationId": "CreateanewTeam",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Team Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Team"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Team"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/teams/{teamid}": {
        "get": {
          "tags": [
            "Account Management | Team"
          ],
          "summary": "View team details",
          "description": "Returns details, including permissions, for a single Team.",
          "operationId": "Viewteamdetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "teamid",
              "in": "path",
              "description": "Team ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Team"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Account Management | Team"
          ],
          "summary": "Modify details of a Team",
          "description": "Change name or access rights for a Team. You can restrict access to this team by adding IP whitelist records in the ip_whitelist array property. Compared to users and apikeys, teams support names on whitelist records. i.e. ip_whitelist: [ {'name': 'Home Whitelist', 'values': ['104.20.48.182'], {'name': 'Multi Whitelist', 'values': ['104.20.49.0/24', '104.20.50.1']} ].\n",
          "operationId": "ModifydetailsofaTeam",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "teamid",
              "in": "path",
              "description": "Team ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Team Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Team"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Team"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Account Management | Team"
          ],
          "summary": "Delete a Team",
          "description": "Deletes a Team. Any Users or API Keys that belong to the Team will be removed from the Team. If they belong to other Teams, they will take on the permissions from the remaining Teams. If they only belong to the Team being deleted, they will be explicitly given permissions equivalent to those of the Team. There is no response other than the HTTP status code.\n",
          "operationId": "DeleteaTeam",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "teamid",
              "in": "path",
              "description": "Team ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/whitelist": {
        "get": {
          "tags": [
            "Account Management | IP Whitelist"
          ],
          "summary": "View all IP whitelists",
          "description": "Returns all the (global) IP Whitelist records for the account.",
          "operationId": "ViewallIPwhitelists",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/IPWhitelist"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Account Management | IP Whitelist"
          ],
          "summary": "Create a new IP Whitelist Record",
          "description": "Creates a new IP Whitelist Record.",
          "operationId": "CreateanewIPWhitelistRecord",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "IP Whitelist Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IPWhitelist"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/IPWhitelist"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/whitelist/{id}": {
        "get": {
          "tags": [
            "Account Management | IP Whitelist"
          ],
          "summary": "View IP whitelist record details",
          "description": "Get a specific IP whitelist record by its unique ID.",
          "operationId": "ViewIPwhitelistrecorddetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "id",
              "in": "path",
              "description": "IP Whitelist ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/IPWhitelist"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Account Management | IP Whitelist"
          ],
          "summary": "Modify details of an IP Whitelist Record",
          "description": "Updates the properties of an existing IP Whitelist Record.",
          "operationId": "ModifydetailsofanIPWhitelistRecord",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "id",
              "in": "path",
              "description": "Whitelist ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "IP Whitelist Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IPWhitelist"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/IPWhitelist"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Account Management | IP Whitelist"
          ],
          "summary": "Delete an IP Whitelist Record",
          "description": "Delete an IP Whitelist Record",
          "operationId": "DeleteanIPWhitelistRecord",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "id",
              "in": "path",
              "description": "Whitelist ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/plantypes": {
        "get": {
          "tags": [
            "Account Management | Plan and Billing"
          ],
          "summary": "View self-service subscription plans",
          "description": "Returns details of all currently available self service subscription plans and associated pricing. Each subscription plan is uniquely identified by the plan type and period.\n\nNote: details are returned regardless of your current plan, but at this time only users on the startup, starter, or basic plan types may change their subscription automatically. Users currently on other plans should contact support@ns1.com.\n",
          "operationId": "Viewself-servicesubscriptionplans",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Plan"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/plan": {
        "get": {
          "tags": [
            "Account Management | Plan and Billing"
          ],
          "summary": "View current subscription plan details",
          "description": "Returns details of the current subscription for the account, including all applicable fees, charges, discounts, etc. The current balance, if any, is also returned.\n",
          "operationId": "Viewcurrentsubscriptionplandetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Plan"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Account Management | Plan and Billing"
          ],
          "summary": "Change your subscription plan",
          "description": "If you are on the startup, starter, or basic plan, and you have a valid credit card on file, you may call this method to instantly pay for and upgrade to a new subscription plan. You may change to a basic or advanced plan with a monthly, quarterly, semiannual, or annual term. Note: In this case, you will be charged the full price of the new plan as indicated in the recurring_cost field in the plan description. If you are currently on any other plan, you do not have a payment method on file, or you are requesting a change to the professional, enterprise, enterprise premiumplan, calling this method will submit a request to change your subscription plan, which we will review and respond to. In that case, you may also pass us notes about your request. If we submit a change request but cannot process it immediately, the response will not include a body.\n",
          "operationId": "Changeyoursubscriptionplan",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "NS1 Subscription Plan",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "description": "NS1 Subscription Plan"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Plan"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/invoices": {
        "get": {
          "tags": [
            "Account Management | Plan and Billing"
          ],
          "summary": "List invoices",
          "description": "Lists basic details of all historical and current invoices for the account.",
          "operationId": "Listinvoices",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/inline_response_200_5"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/invoices/{invoiceid}": {
        "get": {
          "tags": [
            "Account Management | Plan and Billing"
          ],
          "summary": "Download an invoice",
          "description": "The invoice is returned in PDF format. This method will directly return a PDF. The Content-Type and Content-Dispositionheaders will be set accordingly. However, if there is an error, the usual JSON error will be returned.\n\nThere are certain cases, such as in some browsers, where you will be unable to send the X-NSONE-Key authentication header to download a file intended to be saved to the user's filesystem, due to restrictions on some kinds of AJAX/XHR requests. In this case, you may use an alternative authentication mechanism for this method: add an authtoken parameter to the URL, consisting of a SHA1 hash of the concatenation of the API Key, the invoice id, and the sent field from /account/invoices for the invoice (as a string). For example: sha1('qACMD09OJXBxT7XOuRs8101373985364').\n",
          "operationId": "Downloadaninvoice",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "invoiceid",
              "in": "path",
              "description": "Invoice ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "authtoken",
              "in": "query",
              "description": "Authentication Token",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/billataglance": {
        "get": {
          "tags": [
            "Account Management | Plan and Billing"
          ],
          "summary": "View bill at a glance",
          "description": "Returns current usage and charges that will appear on the next invoice.",
          "operationId": "Viewbillataglance",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/inline_response_200_6"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/paymentmethods": {
        "get": {
          "tags": [
            "Account Management | Payment Method"
          ],
          "summary": "View list of active payment methods",
          "description": "This method returns the list of all payment methods (credit cards) attached to the account.",
          "operationId": "Viewlistofactivepaymentmethods",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Payment"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "put": {
          "tags": [
            "Account Management | Payment Method"
          ],
          "summary": "Add a new payment method",
          "description": "Adds a new credit card to the account. If you set default to true it will become the new default card we charge for new invoices. We will do a small pre-authorization charge to the credit card, which will be refunded.",
          "operationId": "Addanewpaymentmethod",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "requestBody": {
            "description": "Payment Method Object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            },
            "required": false
          },
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Payment"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/paymentmethods/{id}": {
        "get": {
          "tags": [
            "Account Management | Payment Method"
          ],
          "summary": "View payment method details",
          "description": "This method returns just the details for a single payment method given its id.",
          "operationId": "Viewpaymentmethoddetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "id",
              "in": "path",
              "description": "Payment Method ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Payment"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "post": {
          "tags": [
            "Account Management | Payment Method"
          ],
          "summary": "Make a payment method the default",
          "description": "Calling this method — with no request body — sets the requested payment method as the default one, and it will be charged for future invoices. You may not modify other details associated with an existing payment method — add a new one instead. There is no response other than the HTTP status code.",
          "operationId": "Makeapaymentmethodthedefault",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "id",
              "in": "path",
              "description": "Payment Method ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        },
        "delete": {
          "tags": [
            "Account Management | Payment Method"
          ],
          "summary": "Delete a payment method",
          "description": "Deletes a credit card. You may not delete the last credit card from the account — add another one first. There is no response other than the HTTP status code.",
          "operationId": "Deleteapaymentmethod",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "id",
              "in": "path",
              "description": "Payment Method ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {}
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/account/activity": {
        "get": {
          "tags": [
            "Account Management | Activity Log"
          ],
          "summary": "View account activity log",
          "description": "Returns entries from the account activity log. By default, the most recent 20 entries are returned — get more by setting limit. You can also restrict the results to entries later than some start (Unix timestamp) or earlier than some end. If you specify a resource_type, only entries for resources of that type are returned. You may also restrict by user and resource_id. Activity log entries include a user_type which is one of \"user\", \"apikey\", or \"system\" depending on where the activity came from, and for \"user\" and \"apikey\" activity, the user_id is the username or API Key id, respectively. For \"create\" and \"update\" actions, any resource details are for the resource after the action is taken; for \"delete\" actions, any such details show the resource as it was prior to deletion.",
          "operationId": "Viewaccountactivitylog",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "limit",
              "in": "query",
              "description": "Return Limit",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "start",
              "in": "query",
              "description": "Start Date Range",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "end",
              "in": "query",
              "description": "End Date Range",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "resource_type",
              "in": "query",
              "description": "Resource Type",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "user",
              "in": "query",
              "description": "User Name",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "resource_id",
              "in": "query",
              "description": "Resource ID",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/inline_response_200_7"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/stats/qps": {
        "get": {
          "tags": [
            "Statistics | QPS"
          ],
          "summary": "Account-wide DNS queries per second",
          "description": "Returns current queries per second (QPS) for the account. Queries per second (QPS) are reported by the NS1 API for Managed DNS networks using the same method for calculating account, zone, and record-level stats: After five minutes of lag time, NS1 collects data for the next two minutes (minutes 6 and 7), and then the data is averaged from two minutes (120 seconds) to one second to render the final QPS result.\n",
          "operationId": "Account-wideDNSqueriespersecond",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/inline_response_200_8"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/stats/qps/{zone}": {
        "get": {
          "tags": [
            "Statistics | QPS"
          ],
          "summary": "Zone-level queries per second",
          "description": "Returns current queries per second (QPS) for a specific zone. Queries per second (QPS) are reported by the NS1 API for Managed DNS networks using the same method for calculating account, zone, and record-level stats: After five minutes of lag time, NS1 collects data for the next two minutes (minutes 6 and 7), and then the data is averaged from two minutes (120 seconds) to one second to render the final QPS result.\n",
          "operationId": "Zone-levelqueriespersecond",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/inline_response_200_8"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/stats/qps/{zone}/{domain}/{type}": {
        "get": {
          "tags": [
            "Statistics | QPS"
          ],
          "summary": "Record-level queries per second",
          "description": "Returns current queries per second (QPS) for a specific record. Queries per second (QPS) are reported by the NS1 API for Managed DNS networks using the same method for calculating account, zone, and record-level stats: After five minutes of lag time, NS1 collects data for the next two minutes (minutes 6 and 7), and then the data is averaged from two minutes (120 seconds) to one second to render the final QPS result.\n",
          "operationId": "Record-levelqueriespersecond",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "domain",
              "in": "path",
              "description": "DNS Domain Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "type",
              "in": "path",
              "description": "DNS Record Type",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/inline_response_200_8"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/stats/usage": {
        "get": {
          "tags": [
            "Statistics | Usage"
          ],
          "summary": "View account-wide usage statistics",
          "description": "Returns statistics and graphs for the entire account over a given period. Stats are returned as a list of stats \"objects\" containing various stats fields that correspond to the given entity. If domain, rectype and zone fields are present in the object, the stats are for the given record; if only the zone field is present, the stats are aggregate stats for the zone; and if none of the fields is present, the stats are aggregate stats for the entire account.\n\nYou may specify the following query parameters:\n\n- period: one of 1h or 24h or 30d (default 24h)\n\nNote: Querying the 1-hr usage statistics endpoint returns three data points (including a partial one) containing the number of total queries. For example, if you query the usage stats for the “testdomain.com” endpoint at 5:10pm (ex. ['https://my.nsone.net/v1/stats/usage/testdomain.com?period=1h’]), you may see the following response:\n\n[{\"graph\":[[1584993600,4514354],[1584995400,4193351],[1584997200,1683636]],\"records\":3994,\"period\":\"1h\",\"zone\":\"testdomain.com\",\"queries\":10391341}]\n\nThe graph is a array of unix timestamps and counts:\n\n- 1584993600 = 4:00 pm (DST) , Total Queries 4514354\n- 1584995400 = 4:30 pm (DST) , Total Queries 4193351\n- 1584997200 = 5:00pm (DST) , Total Queries 1683636 (a partially-filled bucket)\n\nTo calculate the total number of queries from 4pm to 5pm, you would add the first two data points together, totaling 8,707,705 queries from 4 - 5 pm. You would ignore the third (partial) bucket as this is only rendering the number of queries from 5:00pm to 5:10pm.\n\nNote: We recommend that you only query 1hr stats at 30 minute intervals.\n\n- aggregate: true or false; default true — if set, returns aggregated stats across all zones and billing tiers (even if expand and by_tier are true).\n- by_tier: true or false; default false — if set, returns stats and graphs for each billing tier (in records_by_tier and queries_by_tier in each stats object).\n",
          "operationId": "Viewaccount-wideusagestatistics",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "Relative time. Possible values: '1h', '24h', '30d' (Default: '24h')",
              "style": "form",
              "explode": true,
              "schema": {
                "$ref": "#/components/schemas/Period"
              }
            },
            {
              "name": "aggregate",
              "in": "query",
              "description": "If set, returns aggregated stats across all zones and billing tiers (even if expand and by_tier are true). (Default: true)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "boolean"
              }
            },
            {
              "name": "by_tier",
              "in": "query",
              "description": "If set, returns stats and graphs for each billing tier (in records_by_tier and queries_by_tier in each stats object). (Default: false)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "boolean"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/UsageStatistics"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/stats/usage/{zone}": {
        "get": {
          "tags": [
            "Statistics | Usage"
          ],
          "summary": "View zone-level usage statistics",
          "description": "See /stats/usage for a detailed explanation of the output and query parameters.",
          "operationId": "Viewzone-levelusagestatistics",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "Relative time. Possible values: '1h', '24h', '30d' (Default: '24h')",
              "style": "form",
              "explode": true,
              "schema": {
                "$ref": "#/components/schemas/Period"
              }
            },
            {
              "name": "expand",
              "in": "query",
              "description": "If set, breaks down stats by zone, and if unset, shows aggregate stats for the entire account. (Default: false)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "boolean",
                "default": false,
                "example": false
              }
            },
            {
              "name": "aggregate",
              "in": "query",
              "description": "If set, returns aggregated stats across all zones and billing tiers (even if expand and by_tier are true). (Default: true)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "boolean",
                "default": true,
                "example": true
              }
            },
            {
              "name": "by_tier",
              "in": "query",
              "description": "If set, returns stats and graphs for each billing tier (in records_by_tier and queries_by_tier in each stats object). The first element corresponds to STATIC records/queries; the second to DYNAMIC ones; and the third to INTELLIGENT ones. (Default: false)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "boolean"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/UsageStatistics"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/stats/usage/{zone}/{domain}/{type}": {
        "get": {
          "tags": [
            "Statistics | Usage"
          ],
          "summary": "View record-level usage statistics",
          "description": "See /stats/usage for a detailed explanation of the output and query parameters. The expand, by_tier, and aggregate flags are ignored for record usage.",
          "operationId": "Viewrecord-levelusagestatistics",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "zone",
              "in": "path",
              "description": "DNS Zone Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "domain",
              "in": "path",
              "description": "DNS Domain Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "type",
              "in": "path",
              "description": "DNS Record Type",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "Relative time. Possible values: '1h', '24h', '30d' (Default: '24h')",
              "style": "form",
              "explode": true,
              "schema": {
                "$ref": "#/components/schemas/Period"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/UsageStatistics"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/apps": {
        "get": {
          "tags": [
            "Pulsar | App"
          ],
          "summary": "List pulsar apps",
          "description": "Returns all Pulsar applications in your account.",
          "operationId": "Listpulsarapps",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/apps/{appID}": {
        "get": {
          "tags": [
            "Pulsar | App"
          ],
          "summary": "View application details",
          "description": "Returns details for a single Pulsar application.",
          "operationId": "Viewapplicationdetails",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "appID",
              "in": "path",
              "description": "Application ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/apps/{appID}/jobs": {
        "get": {
          "tags": [
            "Pulsar | Job"
          ],
          "summary": "Get list of all jobs for an App",
          "description": "Returns a list of all Pulsar jobs in an app.",
          "operationId": "GetlistofalljobsforanApp",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "appID",
              "in": "path",
              "description": "Application ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "application/json": {
                  "schema": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/apps/{appID}/jobs/{jobID}": {
        "get": {
          "tags": [
            "Pulsar | Job"
          ],
          "summary": "View job details",
          "description": "Returns details for a single Pulsar job.",
          "operationId": "Viewjobdetails",
          "parameters": [
            {
              "name": "appID",
              "in": "path",
              "description": "Application ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "jobID",
              "in": "path",
              "description": "Pulsar Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/apps/{appID}/jobs/{jobID}/data": {
        "get": {
          "tags": [
            "Pulsar | Performance Data"
          ],
          "summary": "View aggregated performance data",
          "description": "Allowed parameters: start, end, period, geo, asn, agg",
          "operationId": "Viewaggregatedperformancedata",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "appID",
              "in": "path",
              "description": "Application ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "jobID",
              "in": "path",
              "description": "Pulsar Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "start",
              "in": "query",
              "description": "Absolute start time in UNIX timestamp. Any data from before this time will be excluded. Defaults to 1 hour before current time",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "end",
              "in": "query",
              "description": "Absolute end time in UNIX timestamp. Any data from after this time will be excluded. Defaults to current time.",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "Can be used instead of start & end time. If set, will set end time to current time and start time to whatever time is specified by this period. If start time is set, period is ignored",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "geo",
              "in": "query",
              "description": "Geographic region. Will filter data to only include results from the specified region. Must be either a 2 letter ISO country code, or US states can also be specified with the format ‘US_NY’",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "agg",
              "in": "query",
              "description": "Specifies a method to use to aggregate data. When there are multiple categories of data being grouped into one (e.x., you query for all geo rather than individual geo regions), this determines how the different data series are combined. (‘p50’ means “estimated 50th percentile”, ‘p75’ is estimated 75th percentile, etc)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "asn",
              "in": "query",
              "description": "Specifies an Autonomous System Number to filter for",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/apps/{appID}/jobs/{jobID}/availability": {
        "get": {
          "tags": [
            "Pulsar | Availability"
          ],
          "summary": "View availability data",
          "description": "Returns availability score per resource over time.",
          "operationId": "Viewavailabilitydata",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "appID",
              "in": "path",
              "description": "Application ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "jobID",
              "in": "path",
              "description": "Pulsar Job ID",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/query/decision/customer": {
        "get": {
          "tags": [
            "Pulsar | Decisions"
          ],
          "summary": "View decisions for account",
          "description": "Returns total count of Pulsar decisions per resource.",
          "operationId": "Viewdecisionsforaccount",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "start",
              "in": "query",
              "description": "Absolute start time in UNIX timestamp. Any data from before this time will be excluded. Defaults to 1 hour before current time",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "end",
              "in": "query",
              "description": "Absolute end time in UNIX timestamp. Any data from after this time will be excluded. Defaults to current time.",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "Can be used instead of start & end time. If set, will set end time to current time and start time to whatever time is specified by this period. If start time is set, period is ignored",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "geo",
              "in": "query",
              "description": "Geographic region. Will filter data to only include results from the specified region. Must be either a 2 letter ISO country code, or US states can also be specified with the format ‘US_NY’",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "agg",
              "in": "query",
              "description": "Specifies a method to use to aggregate data. When there are multiple categories of data being grouped into one (e.x., you query for all geo rather than individual geo regions), this determines how the different data series are combined. (‘p50’ means “estimated 50th percentile”, ‘p75’ is estimated 75th percentile, etc)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "asn",
              "in": "query",
              "description": "Specifies an Autonomous System Number to filter for",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/query/decision/customer/undetermined": {
        "get": {
          "tags": [
            "Pulsar | Decisions"
          ],
          "summary": "View insufficient decision data for account",
          "description": "Returns total count of insufficient data where Pulsar could not make a decision.",
          "operationId": "Viewinsufficientdecisiondataforaccount",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "start",
              "in": "query",
              "description": "Absolute start time in UNIX timestamp. Any data from before this time will be excluded. Defaults to 1 hour before current time",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "end",
              "in": "query",
              "description": "Absolute end time in UNIX timestamp. Any data from after this time will be excluded. Defaults to current time.",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "Can be used instead of start & end time. If set, will set end time to current time and start time to whatever time is specified by this period. If start time is set, period is ignored",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "geo",
              "in": "query",
              "description": "Geographic region. Will filter data to only include results from the specified region. Must be either a 2 letter ISO country code, or US states can also be specified with the format ‘US_NY’",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "agg",
              "in": "query",
              "description": "Specifies a method to use to aggregate data. When there are multiple categories of data being grouped into one (e.x., you query for all geo rather than individual geo regions), this determines how the different data series are combined. (‘p50’ means “estimated 50th percentile”, ‘p75’ is estimated 75th percentile, etc)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "asn",
              "in": "query",
              "description": "Specifies an Autonomous System Number to filter for",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/query/decision/record/{domain}/{type}": {
        "get": {
          "tags": [
            "Pulsar | Decisions"
          ],
          "summary": "View decisions for record",
          "description": "Returns count of Pulsar decisions per resource for a specific record.",
          "operationId": "Viewdecisionsforrecord",
          "parameters": [
            {
              "name": "domain",
              "in": "path",
              "description": "DNS Domain Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "type",
              "in": "path",
              "description": "DNS Record Type",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "start",
              "in": "query",
              "description": "Absolute start time in UNIX timestamp. Any data from before this time will be excluded. Defaults to 1 hour before current time",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "end",
              "in": "query",
              "description": "Absolute end time in UNIX timestamp. Any data from after this time will be excluded. Defaults to current time.",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "Can be used instead of start & end time. If set, will set end time to current time and start time to whatever time is specified by this period. If start time is set, period is ignored",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "geo",
              "in": "query",
              "description": "Geographic region. Will filter data to only include results from the specified region. Must be either a 2 letter ISO country code, or US states can also be specified with the format ‘US_NY’",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "agg",
              "in": "query",
              "description": "Specifies a method to use to aggregate data. When there are multiple categories of data being grouped into one (e.x., you query for all geo rather than individual geo regions), this determines how the different data series are combined. (‘p50’ means “estimated 50th percentile”, ‘p75’ is estimated 75th percentile, etc)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "asn",
              "in": "query",
              "description": "Specifies an Autonomous System Number to filter for",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      },
      "/pulsar/query/decision/record/undetermined/{domain}/{rectype}": {
        "get": {
          "tags": [
            "Pulsar | Decisions"
          ],
          "summary": "View insufficient decision data for account",
          "description": "Returns total count of insufficient data where Pulsar could not make a decision.",
          "operationId": "GetViewinsufficientdecisiondataforaccount",
          "parameters": [
            {
              "name": "X-NSONE-Key",
              "in": "header",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "domain",
              "in": "path",
              "description": "DNS Domain Name",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "rectype",
              "in": "path",
              "description": "",
              "required": true,
              "style": "simple",
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "start",
              "in": "query",
              "description": "Absolute start time in UNIX timestamp. Any data from before this time will be excluded. Defaults to 1 hour before current time",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "end",
              "in": "query",
              "description": "Absolute end time in UNIX timestamp. Any data from after this time will be excluded. Defaults to current time.",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            {
              "name": "period",
              "in": "query",
              "description": "Can be used instead of start & end time. If set, will set end time to current time and start time to whatever time is specified by this period. If start time is set, period is ignored",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "geo",
              "in": "query",
              "description": "Geographic region. Will filter data to only include results from the specified region. Must be either a 2 letter ISO country code, or US states can also be specified with the format ‘US_NY’",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "agg",
              "in": "query",
              "description": "Specifies a method to use to aggregate data. When there are multiple categories of data being grouped into one (e.x., you query for all geo rather than individual geo regions), this determines how the different data series are combined. (‘p50’ means “estimated 50th percentile”, ‘p75’ is estimated 75th percentile, etc)",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "string"
              }
            },
            {
              "name": "asn",
              "in": "query",
              "description": "Specifies an Autonomous System Number to filter for",
              "style": "form",
              "explode": true,
              "schema": {
                "type": "number",
                "format": "double"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "successful operation",
              "headers": {},
              "content": {
                "text/plain": {
                  "schema": {
                    "type": "object",
                    "description": "successful operation"
                  }
                }
              }
            },
            "400": {
              "description": "failed operation"
            }
          },
          "deprecated": false
        }
      }
    },
    "components": {
      "schemas": {
        "UsageStatistics": {
          "title": "UsageStatistics",
          "type": "object",
          "properties": {
            "domain": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "zone": {
              "type": "string"
            },
            "expand": {
              "type": "boolean"
            },
            "period": {
              "$ref": "#/components/schemas/Period"
            },
            "aggregate": {
              "type": "boolean"
            },
            "by_tier": {
              "type": "boolean"
            }
          }
        },
        "Payment": {
          "title": "Payment",
          "type": "object",
          "properties": {
            "type": {
              "minLength": 1,
              "type": "string"
            },
            "default": {
              "type": "boolean"
            },
            "cc_expire_year": {
              "type": "number"
            },
            "cc_expire_month": {
              "type": "number"
            },
            "firstname": {
              "minLength": 1,
              "type": "string"
            },
            "lastname": {
              "minLength": 1,
              "type": "string"
            },
            "company": {
              "minLength": 1,
              "type": "string"
            },
            "cc_type": {
              "minLength": 1,
              "type": "string"
            },
            "phone": {
              "minLength": 1,
              "type": "string"
            },
            "address": {
              "$ref": "#/components/schemas/Payment_address"
            },
            "cc_number_last4": {
              "minLength": 1,
              "type": "string"
            },
            "id": {
              "type": "number"
            }
          }
        },
        "Plan": {
          "title": "Plan",
          "type": "object",
          "properties": {
            "overage_order": {
              "minLength": 1,
              "type": "string"
            },
            "type": {
              "minLength": 1,
              "type": "string"
            },
            "balance": {
              "minLength": 1,
              "type": "string"
            },
            "discount_type": {
              "minLength": 1,
              "type": "string"
            },
            "monthly_price": {
              "minLength": 1,
              "type": "string"
            },
            "access_charges": {
              "$ref": "#/components/schemas/Plan_access_charges"
            },
            "period": {
              "minLength": 1,
              "type": "string"
            },
            "discount": {
              "minLength": 1,
              "type": "string"
            },
            "included": {
              "$ref": "#/components/schemas/Plan_included"
            },
            "recurring_cost": {
              "minLength": 1,
              "type": "string"
            },
            "overages": {
              "$ref": "#/components/schemas/Plan_overages"
            },
            "monitoring": {
              "$ref": "#/components/schemas/Plan_monitoring"
            },
            "locked": {
              "type": "boolean"
            }
          }
        },
        "IPWhitelist": {
          "title": "IPWhitelist",
          "type": "object",
          "properties": {
            "id": {
              "minLength": 1,
              "type": "string"
            },
            "name": {
              "minLength": 1,
              "type": "string"
            },
            "values": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          }
        },
        "Team": {
          "title": "Team",
          "type": "object",
          "properties": {
            "permissions": {
              "$ref": "#/components/schemas/Team_permissions"
            },
            "id": {
              "minLength": 1,
              "type": "string"
            },
            "name": {
              "minLength": 1,
              "type": "string"
            },
            "ip_whitelist": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          }
        },
        "APIKey": {
          "title": "APIKey",
          "type": "object",
          "properties": {
            "permissions": {
              "$ref": "#/components/schemas/Team_permissions"
            },
            "teams": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            },
            "id": {
              "minLength": 1,
              "type": "string"
            },
            "last_access": {
              "type": "object"
            },
            "key": {
              "minLength": 1,
              "type": "string"
            },
            "name": {
              "minLength": 1,
              "type": "string"
            },
            "ip_whitelist_strict": {
              "type": "boolean"
            },
            "ip_whitelist": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          }
        },
        "User": {
          "title": "User",
          "type": "object",
          "properties": {
            "permissions": {
              "$ref": "#/components/schemas/User_permissions"
            },
            "teams": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            },
            "email": {
              "minLength": 1,
              "type": "string"
            },
            "last_access": {
              "type": "object"
            },
            "notify": {
              "$ref": "#/components/schemas/User_notify"
            },
            "name": {
              "minLength": 1,
              "type": "string"
            },
            "username": {
              "minLength": 1,
              "type": "string"
            },
            "ip_whitelist_strict": {
              "type": "boolean"
            },
            "ip_whitelist": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          }
        },
        "Contact": {
          "title": "Contact",
          "type": "object",
          "properties": {
            "email": {
              "minLength": 1,
              "type": "string"
            },
            "address": {
              "$ref": "#/components/schemas/Payment_address"
            },
            "phone": {
              "type": "string"
            },
            "customerid": {
              "type": "number"
            },
            "company": {
              "minLength": 1,
              "type": "string"
            },
            "lastname": {
              "minLength": 1,
              "type": "string"
            },
            "firstname": {
              "minLength": 1,
              "type": "string"
            }
          }
        },
        "LIST": {
          "title": "LIST",
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "notify_list": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LIST_notify_list"
              },
              "description": ""
            }
          }
        },
        "PING": {
          "title": "PING",
          "required": [
            "desc",
            "results",
            "config",
            "shortdesc"
          ],
          "type": "object",
          "properties": {
            "desc": {
              "type": "string"
            },
            "results": {
              "$ref": "#/components/schemas/PING_results"
            },
            "config": {
              "$ref": "#/components/schemas/PING_config"
            },
            "shortdesc": {
              "minLength": 1,
              "type": "string"
            }
          }
        },
        "TCP": {
          "title": "TCP",
          "required": [
            "desc",
            "results",
            "config",
            "shortdesc"
          ],
          "type": "object",
          "properties": {
            "desc": {
              "type": "string"
            },
            "results": {
              "$ref": "#/components/schemas/TCP_results"
            },
            "config": {
              "$ref": "#/components/schemas/TCP_config"
            },
            "shortdesc": {
              "minLength": 1,
              "type": "string"
            }
          }
        },
        "Job": {
          "title": "Job",
          "type": "object",
          "properties": {
            "status": {
              "$ref": "#/components/schemas/Job_status"
            },
            "notes": {
              "type": "object"
            },
            "policy": {
              "type": "string"
            },
            "frequency": {
              "type": "integer",
              "format": "int32"
            },
            "regions": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "region_scope": {
              "type": "string"
            },
            "active": {
              "type": "boolean"
            },
            "rapid_recheck": {
              "type": "boolean"
            },
            "name": {
              "type": "string"
            },
            "job_type": {
              "type": "string"
            },
            "config": {
              "$ref": "#/components/schemas/Job_config"
            },
            "rules": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Job_rules"
              },
              "description": ""
            },
            "notify_delay": {
              "type": "integer",
              "format": "int32"
            },
            "notify_repeat": {
              "type": "integer",
              "format": "int32"
            },
            "notify_failback": {
              "type": "boolean"
            },
            "notify_regional": {
              "type": "boolean"
            },
            "notify_list": {
              "type": "object"
            },
            "id": {
              "type": "string"
            }
          }
        },
        "DataFeed": {
          "title": "DataFeed",
          "type": "object",
          "properties": {
            "destinations": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DataFeed_destinations"
              },
              "description": ""
            },
            "id": {
              "type": "string"
            },
            "data": {
              "$ref": "#/components/schemas/DataFeed_data"
            },
            "config": {
              "$ref": "#/components/schemas/DataFeed_config"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "DataSource": {
          "title": "DataSource",
          "type": "object",
          "properties": {
            "sourcetype": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "config": {
              "$ref": "#/components/schemas/DataSource_config"
            },
            "feeds": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            },
            "name": {
              "type": "string"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "DNSRecord": {
          "title": "DNSRecord",
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "networks": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": ""
            },
            "type": {
              "type": "string"
            },
            "feeds": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            },
            "tier": {
              "type": "integer",
              "format": "int32"
            },
            "customer": {
              "type": "integer",
              "format": "int32"
            },
            "domain": {
              "type": "string"
            },
            "zone": {
              "type": "string"
            },
            "answers": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DNSRecord_answers"
              },
              "description": ""
            },
            "regions": {
              "type": "object"
            },
            "meta": {
              "type": "object"
            },
            "filters": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            },
            "ttl": {
              "type": "integer",
              "format": "int32"
            },
            "use_client_subnet": {
              "type": "boolean"
            }
          }
        },
        "Network": {
          "title": "Network",
          "type": "object",
          "properties": {
            "network_id": {
              "type": "string"
            },
            "label": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "Zone": {
          "title": "Zone",
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "ttl": {
              "type": "integer",
              "format": "int32"
            },
            "nx_ttl": {
              "type": "integer",
              "format": "int32"
            },
            "retry": {
              "type": "integer",
              "format": "int32"
            },
            "zone": {
              "type": "string"
            },
            "refresh": {
              "type": "integer",
              "format": "int32"
            },
            "expiry": {
              "type": "integer",
              "format": "int32"
            },
            "dns_servers": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "networks": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": ""
            },
            "network_pools": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "meta": {
              "type": "object"
            },
            "hostmaster": {
              "type": "string"
            },
            "dnssec": {
              "type": "boolean"
            }
          }
        },
        "config": {
          "title": "config",
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "config": {
              "type": "string"
            },
            "sourcetype": {
              "type": "string"
            }
          }
        },
        "monitoringmetricjobid_metrics_rtt": {
          "title": "monitoringmetricjobid_metrics_rtt",
          "type": "object",
          "properties": {
            "avg": {
              "type": "string"
            },
            "graph": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "description": ""
            }
          }
        },
        "monitoringmetricjobid_metrics": {
          "title": "monitoringmetricjobid_metrics",
          "type": "object",
          "properties": {
            "rtt": {
              "$ref": "#/components/schemas/monitoringmetricjobid_metrics_rtt"
            }
          }
        },
        "inline_response_200": {
          "title": "inline_response_200",
          "type": "object",
          "properties": {
            "jobid": {
              "type": "string"
            },
            "region": {
              "type": "string"
            },
            "metrics": {
              "$ref": "#/components/schemas/monitoringmetricjobid_metrics"
            }
          }
        },
        "inline_response_200_1": {
          "title": "inline_response_200_1",
          "type": "object",
          "properties": {
            "tcp": {
              "$ref": "#/components/schemas/TCP"
            },
            "ping": {
              "$ref": "#/components/schemas/PING"
            }
          },
          "description": "tcp, ping"
        },
        "inline_response_200_2": {
          "title": "inline_response_200_2",
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "code": {
              "type": "string"
            },
            "subnets": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            }
          }
        },
        "inline_response_200_3": {
          "title": "inline_response_200_3",
          "type": "object",
          "properties": {
            "user": {
              "type": "object"
            },
            "email": {
              "type": "object"
            },
            "datafeed": {
              "$ref": "#/components/schemas/DataFeed"
            }
          }
        },
        "inline_response_200_4_queries": {
          "title": "inline_response_200_4_queries",
          "type": "object",
          "properties": {
            "send_warnings": {
              "type": "boolean"
            },
            "warning_2": {
              "type": "number"
            },
            "warning_1": {
              "type": "number"
            }
          }
        },
        "inline_response_200_4": {
          "title": "inline_response_200_4",
          "type": "object",
          "properties": {
            "queries": {
              "$ref": "#/components/schemas/inline_response_200_4_queries"
            },
            "records": {
              "$ref": "#/components/schemas/inline_response_200_4_queries"
            }
          }
        },
        "accountDetails": {
          "title": "accountDetails",
          "type": "object",
          "properties": {
            "queries": {
              "$ref": "#/components/schemas/inline_response_200_4_queries"
            },
            "records": {
              "$ref": "#/components/schemas/inline_response_200_4_queries"
            }
          }
        },
        "inline_response_200_5": {
          "title": "inline_response_200_5",
          "required": [
            "due",
            "sent",
            "id",
            "amount",
            "status"
          ],
          "type": "object",
          "properties": {
            "due": {
              "type": "number"
            },
            "sent": {
              "type": "number"
            },
            "id": {
              "type": "number"
            },
            "amount": {
              "minLength": 1,
              "type": "string"
            },
            "status": {
              "minLength": 1,
              "type": "string"
            }
          }
        },
        "inline_response_200_6_any": {
          "title": "inline_response_200_6_any",
          "type": "object",
          "properties": {
            "overage_order": {
              "type": "string"
            },
            "query_credit": {
              "type": "number"
            },
            "record_credit": {
              "type": "number"
            }
          }
        },
        "inline_response_200_6_static": {
          "title": "inline_response_200_6_static",
          "type": "object",
          "properties": {
            "record_rate": {
              "type": "string"
            },
            "access_charge": {
              "type": "string"
            },
            "records": {
              "type": "number"
            },
            "query_credit": {
              "type": "number"
            },
            "query_cost": {
              "type": "string"
            },
            "query_rate_per_million": {
              "type": "string"
            },
            "queries": {
              "type": "number"
            },
            "record_credit": {
              "type": "number"
            },
            "record_cost": {
              "type": "string"
            }
          }
        },
        "inline_response_200_6_totals": {
          "title": "inline_response_200_6_totals",
          "type": "object",
          "properties": {
            "record_cost": {
              "type": "string"
            },
            "record_credit": {
              "type": "number"
            },
            "queries": {
              "type": "number"
            },
            "query_credit": {
              "type": "number"
            },
            "records": {
              "type": "number"
            },
            "access_charge": {
              "type": "string"
            },
            "query_cost": {
              "type": "string"
            }
          }
        },
        "inline_response_200_6": {
          "title": "inline_response_200_6",
          "type": "object",
          "properties": {
            "plan": {
              "type": "string"
            },
            "period": {
              "type": "string"
            },
            "last_invoice": {
              "type": "integer",
              "format": "int32"
            },
            "next_invoice": {
              "type": "integer",
              "format": "int32"
            },
            "next_base_invoice": {
              "type": "integer",
              "format": "int32"
            },
            "recurring_cost": {
              "type": "string"
            },
            "recurring_cost_next_invoice": {
              "type": "string"
            },
            "any": {
              "$ref": "#/components/schemas/inline_response_200_6_any"
            },
            "static": {
              "$ref": "#/components/schemas/inline_response_200_6_static"
            },
            "dynamic": {
              "$ref": "#/components/schemas/inline_response_200_6_static"
            },
            "intelligent": {
              "$ref": "#/components/schemas/inline_response_200_6_static"
            },
            "totals": {
              "$ref": "#/components/schemas/inline_response_200_6_totals"
            },
            "balance": {
              "type": "string"
            },
            "bill": {
              "type": "string"
            }
          }
        },
        "accountactivity_resource_records": {
          "title": "accountactivity_resource_records",
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "tier": {
              "type": "integer",
              "format": "int32"
            },
            "short_answers": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "domain": {
              "type": "string"
            }
          }
        },
        "accountactivity_resource": {
          "title": "accountactivity_resource",
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "hostmaster": {
              "type": "string"
            },
            "meta": {
              "type": "object"
            },
            "nx_ttl": {
              "type": "integer",
              "format": "int32"
            },
            "retry": {
              "type": "integer",
              "format": "int32"
            },
            "zone": {
              "type": "string"
            },
            "warnings": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            },
            "refresh": {
              "type": "integer",
              "format": "int32"
            },
            "expiry": {
              "type": "integer",
              "format": "int32"
            },
            "records": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/accountactivity_resource_records"
              },
              "description": ""
            },
            "dns_servers": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "networks": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              },
              "description": ""
            },
            "network_pools": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            }
          }
        },
        "inline_response_200_7": {
          "title": "inline_response_200_7",
          "type": "object",
          "properties": {
            "user_name": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "resource_type": {
              "type": "string"
            },
            "user_id": {
              "type": "string"
            },
            "resource_id": {
              "type": "string"
            },
            "timestamp": {
              "type": "integer",
              "format": "int32"
            },
            "user_type": {
              "type": "string"
            },
            "action": {
              "type": "string"
            },
            "resource": {
              "$ref": "#/components/schemas/accountactivity_resource"
            }
          }
        },
        "inline_response_200_8": {
          "title": "inline_response_200_8",
          "type": "object",
          "properties": {
            "qps": {
              "type": "number"
            }
          }
        },
        "Payment_address": {
          "title": "Payment_address",
          "type": "object",
          "properties": {
            "country": {
              "minLength": 1,
              "type": "string"
            },
            "street": {
              "minLength": 1,
              "type": "string"
            },
            "state": {
              "minLength": 1,
              "type": "string"
            },
            "city": {
              "minLength": 1,
              "type": "string"
            },
            "postalcode": {
              "minLength": 1,
              "type": "string"
            }
          }
        },
        "Plan_access_charges": {
          "title": "Plan_access_charges",
          "type": "object",
          "properties": {
            "static": {
              "minLength": 1,
              "type": "string"
            },
            "intelligent": {
              "minLength": 1,
              "type": "string"
            },
            "dynamic": {
              "minLength": 1,
              "type": "string"
            }
          }
        },
        "Plan_included_any": {
          "title": "Plan_included_any",
          "type": "object",
          "properties": {
            "queries": {
              "type": "number"
            },
            "records": {
              "type": "number"
            }
          }
        },
        "Plan_included": {
          "title": "Plan_included",
          "type": "object",
          "properties": {
            "any": {
              "$ref": "#/components/schemas/Plan_included_any"
            },
            "static": {
              "$ref": "#/components/schemas/Plan_included_any"
            },
            "intelligent": {
              "$ref": "#/components/schemas/Plan_included_any"
            },
            "dynamic": {
              "$ref": "#/components/schemas/Plan_included_any"
            }
          }
        },
        "Plan_overages_static": {
          "title": "Plan_overages_static",
          "type": "object",
          "properties": {
            "queries": {
              "minLength": 1,
              "type": "string"
            },
            "records": {
              "minLength": 1,
              "type": "string"
            }
          }
        },
        "Plan_overages": {
          "title": "Plan_overages",
          "type": "object",
          "properties": {
            "static": {
              "$ref": "#/components/schemas/Plan_overages_static"
            },
            "intelligent": {
              "$ref": "#/components/schemas/Plan_overages_static"
            },
            "dynamic": {
              "$ref": "#/components/schemas/Plan_overages_static"
            }
          }
        },
        "Plan_monitoring": {
          "title": "Plan_monitoring",
          "type": "object",
          "properties": {
            "jobs": {
              "type": "number"
            },
            "frequency": {
              "type": "number"
            },
            "regions": {
              "type": "number"
            }
          }
        },
        "Team_permissions_dns": {
          "title": "Team_permissions_dns",
          "type": "object",
          "properties": {
            "zones_allow_by_default": {
              "type": "boolean"
            },
            "view_zones": {
              "type": "boolean"
            },
            "manage_zones": {
              "type": "boolean"
            },
            "zones_allow": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          }
        },
        "Team_permissions_data": {
          "title": "Team_permissions_data",
          "type": "object",
          "properties": {
            "push_to_datafeeds": {
              "type": "boolean"
            },
            "manage_datasources": {
              "type": "boolean"
            },
            "manage_datafeeds": {
              "type": "boolean"
            }
          }
        },
        "Team_permissions_account": {
          "title": "Team_permissions_account",
          "type": "object",
          "properties": {
            "manage_payment_methods": {
              "type": "boolean"
            },
            "manage_plan": {
              "type": "boolean"
            },
            "manage_teams": {
              "type": "boolean"
            },
            "manage_apikeys": {
              "type": "boolean"
            },
            "manage_account_settings": {
              "type": "boolean"
            },
            "view_activity_log": {
              "type": "boolean"
            },
            "view_invoices": {
              "type": "boolean"
            },
            "manage_users": {
              "type": "boolean"
            }
          }
        },
        "Team_permissions_monitoring": {
          "title": "Team_permissions_monitoring",
          "type": "object",
          "properties": {
            "manage_lists": {
              "type": "boolean"
            },
            "manage_jobs": {
              "type": "boolean"
            },
            "view_jobs": {
              "type": "boolean"
            }
          }
        },
        "Team_permissions": {
          "title": "Team_permissions",
          "type": "object",
          "properties": {
            "dns": {
              "$ref": "#/components/schemas/Team_permissions_dns"
            },
            "data": {
              "$ref": "#/components/schemas/Team_permissions_data"
            },
            "account": {
              "$ref": "#/components/schemas/Team_permissions_account"
            },
            "monitoring": {
              "$ref": "#/components/schemas/Team_permissions_monitoring"
            }
          }
        },
        "User_permissions_dns": {
          "title": "User_permissions_dns",
          "type": "object",
          "properties": {
            "view_zones": {
              "type": "boolean"
            },
            "manage_zones": {
              "type": "boolean"
            },
            "zones_allow_by_default": {
              "type": "boolean"
            },
            "zones_deny": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            },
            "zones_allow": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          }
        },
        "User_permissions": {
          "title": "User_permissions",
          "type": "object",
          "properties": {
            "dns": {
              "$ref": "#/components/schemas/User_permissions_dns"
            },
            "data": {
              "$ref": "#/components/schemas/Team_permissions_data"
            },
            "account": {
              "$ref": "#/components/schemas/Team_permissions_account"
            },
            "monitoring": {
              "$ref": "#/components/schemas/Team_permissions_monitoring"
            }
          }
        },
        "User_notify": {
          "title": "User_notify",
          "required": [
            "billing"
          ],
          "type": "object",
          "properties": {
            "billing": {
              "type": "boolean"
            }
          }
        },
        "LIST_config": {
          "title": "LIST_config",
          "type": "object",
          "properties": {
            "email": {
              "type": "string"
            }
          }
        },
        "LIST_notify_list": {
          "title": "LIST_notify_list",
          "type": "object",
          "properties": {
            "config": {
              "$ref": "#/components/schemas/LIST_config"
            },
            "type": {
              "type": "string"
            }
          }
        },
        "PING_results_loss": {
          "title": "PING_results_loss",
          "type": "object",
          "properties": {
            "desc": {
              "minLength": 1,
              "type": "string"
            },
            "type": {
              "minLength": 1,
              "type": "string"
            },
            "shortdesc": {
              "minLength": 1,
              "type": "string"
            },
            "validator": {
              "minLength": 1,
              "type": "string"
            },
            "metric": {
              "type": "boolean"
            },
            "comparators": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          }
        },
        "PING_results": {
          "title": "PING_results",
          "type": "object",
          "properties": {
            "loss": {
              "$ref": "#/components/schemas/PING_results_loss"
            },
            "rtt": {
              "$ref": "#/components/schemas/PING_results_loss"
            }
          }
        },
        "PING_config_timeout": {
          "title": "PING_config_timeout",
          "required": [
            "desc",
            "type",
            "shortdesc",
            "validator",
            "required",
            "default"
          ],
          "type": "object",
          "properties": {
            "desc": {
              "minLength": 1,
              "type": "string"
            },
            "type": {
              "minLength": 1,
              "type": "string"
            },
            "shortdesc": {
              "minLength": 1,
              "type": "string"
            },
            "validator": {
              "minLength": 1,
              "type": "string"
            },
            "required": {
              "type": "boolean"
            },
            "default": {
              "type": "number"
            }
          }
        },
        "PING_config_host": {
          "title": "PING_config_host",
          "required": [
            "validator",
            "type",
            "required",
            "desc",
            "shortdesc"
          ],
          "type": "object",
          "properties": {
            "validator": {
              "minLength": 1,
              "type": "string"
            },
            "type": {
              "minLength": 1,
              "type": "string"
            },
            "required": {
              "type": "boolean"
            },
            "desc": {
              "minLength": 1,
              "type": "string"
            },
            "shortdesc": {
              "minLength": 1,
              "type": "string"
            }
          }
        },
        "PING_config": {
          "title": "PING_config",
          "required": [
            "timeout",
            "interval",
            "host",
            "count"
          ],
          "type": "object",
          "properties": {
            "timeout": {
              "$ref": "#/components/schemas/PING_config_timeout"
            },
            "interval": {
              "$ref": "#/components/schemas/PING_config_timeout"
            },
            "host": {
              "$ref": "#/components/schemas/PING_config_host"
            },
            "count": {
              "$ref": "#/components/schemas/PING_config_timeout"
            }
          }
        },
        "TCP_results_connect": {
          "title": "TCP_results_connect",
          "type": "object",
          "properties": {
            "desc": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "shortdesc": {
              "type": "string"
            },
            "validator": {
              "type": "string"
            },
            "metric": {
              "type": "boolean"
            },
            "comparators": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          }
        },
        "TCP_results": {
          "title": "TCP_results",
          "required": [
            "connect",
            "output"
          ],
          "type": "object",
          "properties": {
            "connect": {
              "$ref": "#/components/schemas/TCP_results_connect"
            },
            "output": {
              "$ref": "#/components/schemas/PING_results_loss"
            }
          }
        },
        "TCP_config_ssl": {
          "title": "TCP_config_ssl",
          "required": [
            "desc",
            "type",
            "shortdesc",
            "validator",
            "required",
            "default"
          ],
          "type": "object",
          "properties": {
            "desc": {
              "minLength": 1,
              "type": "string"
            },
            "type": {
              "minLength": 1,
              "type": "string"
            },
            "shortdesc": {
              "minLength": 1,
              "type": "string"
            },
            "validator": {
              "minLength": 1,
              "type": "string"
            },
            "required": {
              "type": "boolean"
            },
            "default": {
              "type": "boolean"
            }
          }
        },
        "TCP_config_send": {
          "title": "TCP_config_send",
          "required": [
            "desc",
            "type",
            "shortdesc",
            "validator",
            "required"
          ],
          "type": "object",
          "properties": {
            "desc": {
              "minLength": 1,
              "type": "string"
            },
            "type": {
              "minLength": 1,
              "type": "string"
            },
            "shortdesc": {
              "minLength": 1,
              "type": "string"
            },
            "validator": {
              "minLength": 1,
              "type": "string"
            },
            "required": {
              "type": "boolean"
            },
            "default": {
              "type": "object"
            }
          }
        },
        "TCP_config": {
          "title": "TCP_config",
          "required": [
            "port",
            "host",
            "ssl",
            "connect_timeout",
            "send",
            "response_timeout"
          ],
          "type": "object",
          "properties": {
            "port": {
              "$ref": "#/components/schemas/PING_config_host"
            },
            "host": {
              "$ref": "#/components/schemas/PING_config_host"
            },
            "ssl": {
              "$ref": "#/components/schemas/TCP_config_ssl"
            },
            "connect_timeout": {
              "$ref": "#/components/schemas/PING_config_timeout"
            },
            "send": {
              "$ref": "#/components/schemas/TCP_config_send"
            },
            "response_timeout": {
              "$ref": "#/components/schemas/PING_config_timeout"
            }
          }
        },
        "Job_status_global": {
          "title": "Job_status_global",
          "type": "object",
          "properties": {
            "since": {
              "type": "number"
            },
            "status": {
              "type": "string"
            }
          }
        },
        "Job_status": {
          "title": "Job_status",
          "type": "object",
          "properties": {
            "global": {
              "$ref": "#/components/schemas/Job_status_global"
            },
            "ams": {
              "$ref": "#/components/schemas/Job_status_global"
            }
          }
        },
        "Job_config": {
          "title": "Job_config",
          "type": "object",
          "properties": {
            "ssl": {
              "type": "string"
            },
            "send": {
              "type": "string"
            },
            "port": {
              "type": "integer",
              "format": "int32"
            },
            "host": {
              "type": "string"
            }
          }
        },
        "Job_rules": {
          "title": "Job_rules",
          "type": "object",
          "properties": {
            "value": {
              "type": "string"
            },
            "comparison": {
              "type": "string"
            },
            "key": {
              "type": "string"
            }
          }
        },
        "DataFeed_destinations": {
          "title": "DataFeed_destinations",
          "type": "object",
          "properties": {
            "destid": {
              "type": "string"
            },
            "desttype": {
              "type": "string"
            },
            "record": {
              "type": "string"
            }
          }
        },
        "DataFeed_data": {
          "title": "DataFeed_data",
          "type": "object",
          "properties": {
            "up": {
              "type": "string"
            }
          }
        },
        "DataFeed_config": {
          "title": "DataFeed_config",
          "type": "object",
          "properties": {
            "label": {
              "type": "string"
            }
          }
        },
        "DataSource_config": {
          "title": "DataSource_config",
          "type": "object",
          "properties": {
            "api_key": {
              "type": "string"
            },
            "secret_key": {
              "type": "string"
            },
            "webhook_token": {
              "type": "string"
            }
          }
        },
        "DNSRecord_answers": {
          "title": "DNSRecord_answers",
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "answer": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            }
          }
        },
        "Period": {
          "title": "Period",
          "enum": [
            "1h",
            "24h",
            "30d"
          ],
          "type": "string"
        },
        "type": {
          "title": "type",
          "enum": [
            "zone",
            "record",
            "all"
          ],
          "type": "string"
        }
      }
    },
    "tags": [
      {
        "name": "Zones"
      },
      {
        "name": "Records"
      },
      {
        "name": "Data Sources"
      },
      {
        "name": "Data Feeds"
      },
      {
        "name": "Monitoring Jobs"
      },
      {
        "name": "Notification Lists"
      },
      {
        "name": "Account Management | General"
      },
      {
        "name": "Account Management | User"
      },
      {
        "name": "Account Management | API Key"
      },
      {
        "name": "Account Management | Team"
      },
      {
        "name": "Account Management | IP Whitelist"
      },
      {
        "name": "Account Management | Plan and Billing"
      },
      {
        "name": "Account Management | Payment Method"
      },
      {
        "name": "Account Management | Activity Log"
      },
      {
        "name": "Statistics | QPS"
      },
      {
        "name": "Statistics | Usage"
      },
      {
        "name": "Pulsar | App"
      },
      {
        "name": "Pulsar | Job"
      },
      {
        "name": "Pulsar | Performance Data"
      },
      {
        "name": "Pulsar | Availability"
      },
      {
        "name": "Pulsar | Decisions"
      }
    ]
  }