{
  "info": {
    "_postman_id": "8b73e904-dc66-4851-82ca-ea140a2bfb2a",
    "name": "GSLB.me 2.0",
    "description": "<a href=\"https://www.gslb.me\">GSLB.me</a> comes with a fully-fledged REST API to manage your DNS services. Using the API you can add, modify, delete, enable and disable domains (<a href=\"https://www.gslb.me\">GSLB.me</a> refers to DNS domains as “zones“), records, geohosts and targets.\n<a href=\"https://www.gslb.me\">GSLB.me</a> can be fully orchestrated through its REST API.\n\n# Overview\nWhat is REST?\n\nREST (REpresentational State Transfer) is an HTTP-based protocol: using standard HTTP methods such as GET, POST, PUT and DELETE it allows for remote method/procedure calls. What REST allows you to do is to develop your own client-side code that interacts with GSLB.me to dynamically provision and orchestrate your DNS services.\n\n# Authentication\n\nAll API requests must be authenticated: credentials are your username (in the form of the e-mail address you used to register to <a href=\"https://www.gslb.me\">GSLB.me</a>) and your password. When you first create your account on GSLB.me the API password is set identical to the web GUI password. It is then possible to modify it through the web GUI itself.\n\nAuthentication is performed by adding to each API request a standard Basic HTTP Authorization header.\n\nThe Authorization header can be created as follows:\n\n* Username and password are combined into a string in the form “username:password”\n* The resulting string (without quotes) is then encoded using Base64\n* The HTTP “Authorization” header is added to the API request. It must be named “Authorization” and its value must be “Basic” followed by one space character, followed by the Base64-encoded string\n\n\nFor instance, if your username is “username@mysite.com” and your password is “mypassword”, we would have:\n\n* Username and password are combined into “username@mysite.com:mypassword”\n* The string “username@mysite.com:password” without quotes is encoded using Base64\n* The HTTP “Authorization” header is formed as follows:\n    \n    Authorization: Basic dXNlcm5hbWVAbXlzaXRlLmNvbTpteXBhc3N3b3JkCg==\n\n\nThis can be easily generated using the standard bash shell:\n\n    user ~ $ echo \"username@mysite.com:mypassword\" | base64\n    dXNlcm5hbWVAbXlzaXRlLmNvbTpteXBhc3N3b3JkCg==\n\n# Content types\n\nAn “Accept” HTTP header can be specified for GET requests. Such header tells the API to encode its output using json or XML. The “Accept” header can be set to any of:\n\n    Accept: application/json\n    Accept: application/xml\n\n\nIf the “Accept” header is omitted in the request, json encoding is used by default.\nAPI endpoint\n\nThe endpoint URL for the API is:\n\n    https://api.gslb.me\n\n\nHTTPS is mandatory, HTTP is not supported due to security reasons.\n\n# API response encoding\n\nThe encoding format of API responses can be selected between JSON and XML by adding the “Accept” HTTP header in the request.\n\nTo select JSON encoding:\n\n    Accept: application/json\n\n\nTo select XML encoding:\n\n    Accept: application/xml\n\n\nIf no “Accept” header is specified, the API defaults to JSON encoding.\n\n# Error Codes\nEvery API response includes an HTTP status code. The status code provides information on whether and how the request was successfully processed. In case of errors the status code details what went wrong.\n\nThe API can return the following HTTP status codes:\n\n    200 - OK (API call successfully completed)\n    400 - Bad Request (Incorrect request format / Wrong parameters)\n    401 - Unauthorized (Each API request must be authenticated via HTTP Basic Auth)\n    403 - Forbidden (The request is not allowed)\n    404 - Not found (The requested method does not exist / The requested object does not exist)\n    406 - Not Acceptable (The \"Accept\" request header was set to an invalid value)\n    411 - Length Required (A \"PUT\" or \"POST\" method was called without specifying the header \"Content-Length: 0\")\n    500 - Server Error (An internal error occurred, contact support)\n    503 - Service Unavailable (Currently unable to service your request / Rate limiting your request, try again in a short while)\n\n\nEvery API response includes an HTTP status code. The status code provides information on whether and how the request was successfully processed. In case of errors the status code details what went wrong.\n\nIn addition to the HTTP status code, every API response includes a payload that provides more details on the outcome of the request.\n\n\n---\n\n# Using this collection\n\n1. Import the collection and the environment file.\n2. Set `api_username` and `api_password` in the environment (the password is the one you use for the API).\n3. Browse **API reference** to try every call, or run **End-to-end test suite** to check the whole API.\n\nAuthentication (HTTP Basic) is configured once at collection level and inherited by every request.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "id": "0fc1969e-7c26-4f5e-aad8-d1338f9358e0",
      "name": "API reference",
      "description": "Every API v2.0 call with the documented request bodies and example responses. Edit the variables to point the requests at your own zone, geohost and target.",
      "item": [
        {
          "name": "Records",
          "description": "Automates records creation, modification and deletion\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Create zone records",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"records\": [\n    {\n      \"name\": \"201803._domainkey\",\n      \"type\": \"TXT\",\n      \"value\": \"v=DKIM1%3B%20h=sha256%3B%20k=rsa%3B%20p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2v47dnlz4+o8kwUJ8oU02YO29F8KsmUgMh9Mnl5UJetgw0n%2FuIombRCkN1XaVeS3w706i85WCfStQgnzl1KewsSriwdOTo5HQ3PM5RfHrVXduBzc4vCaVvhMCQ2zK%2F0BiDM%2FjrqMh1ldD4zRA82AKbvyLHwdDzhiIIHRT0slvVeqTKyR%2F5D5cWmuki3wno15n7Bvvds3WWxwuWmOe3RH0+pQNWQMeSDsPb6ULPquL7Phg9mNX6SFoPyA29tyTkxXe9d6pvQyVCbLJ15Se3uzOAxCsrUyLOYgg%2FEAcA8pkZRXeYlFOF%2FXeendHlbCnWBczJfXyef+lJk8QbmWe%2FAWCwIDAQAB\",\n      \"ttl\": \"300\"\n    },\n    {\n      \"name\": \"dummyrecord\",\n      \"type\": \"A\",\n      \"value\": \"11.22.33.44\",\n      \"ttl\": \"60\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/record/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "record",
                    "{{zone_name}}"
                  ]
                },
                "description": "Adds new records to an existing zone. In order to make the newly added records active, the zone must be committed.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Create zone records",
                  "originalRequest": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "raw": "{\n   \"records\": [\n\t\t{\n\t\t\t\"name\":\"201803._domainkey\",\n\t\t\t\"type\":\"TXT\",\n        \t\"value\":\"v=DKIM1%3B%20h=sha256%3B%20k=rsa%3B%20p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2v47dnlz4+o8kwUJ8oU02YO29F8KsmUgMh9Mnl5UJetgw0n%2FuIombRCkN1XaVeS3w706i85WCfStQgnzl1KewsSriwdOTo5HQ3PM5RfHrVXduBzc4vCaVvhMCQ2zK%2F0BiDM%2FjrqMh1ldD4zRA82AKbvyLHwdDzhiIIHRT0slvVeqTKyR%2F5D5cWmuki3wno15n7Bvvds3WWxwuWmOe3RH0+pQNWQMeSDsPb6ULPquL7Phg9mNX6SFoPyA29tyTkxXe9d6pvQyVCbLJ15Se3uzOAxCsrUyLOYgg%2FEAcA8pkZRXeYlFOF%2FXeendHlbCnWBczJfXyef+lJk8QbmWe%2FAWCwIDAQAB\",\n        \t\"ttl\":\"300\"\n\t\t},\n\t\t{\n\t\t\t\"name\":\"dummyrecord\",\n\t\t\t\"type\":\"A\",\n\t\t\t\"value\":\"11.22.33.44\",\n\t\t\t\"ttl\":\"60\"\n\t\t}\n\t]\n}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/record/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "record",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 22:08:22 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Done\",\"returncode\":\"0\"}"
                }
              ],
              "id": "8929c3e6-4f2a-46af-9767-60d66aba6478",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "a8397767-85ff-4498-9408-054655c6cfb9",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Modify zone records",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "PUT",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"records\": [\n    {\n      \"id\": \"7555\",\n      \"name\": \"@\",\n      \"readonly\": \"false\",\n      \"ttl\": \"30\",\n      \"type\": \"SSHFP\",\n      \"value\": \"4 2 9db8c309c9a27f93e2a096aec7771f7a4d0b6f5edddf520db2728ceff0c89d05\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/record/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "record",
                    "{{zone_name}}"
                  ]
                },
                "description": "Modifies existing zone records. In order to make the modified records active, the zone must be committed.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Modify zone records",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "raw": "{\n   \"records\": [\n\t\t{\n        \t\"id\": \"7555\",\n        \t\"name\": \"@\",\n            \"readonly\": \"false\",\n            \"ttl\": \"30\",\n            \"type\": \"SSHFP\",\n            \"value\": \"4 2 9db8c309c9a27f93e2a096aec7771f7a4d0b6f5edddf520db2728ceff0c89d05\"\n        }\n\t]\n}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/record/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "record",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 22:09:20 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Done\",\"returncode\":\"0\"}"
                }
              ],
              "id": "f552c5d4-8b78-4c44-afda-bcc6dfc98cf3",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "1f549e80-e065-438b-a7a4-730234137dff",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get zone records",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/record/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "record",
                    "{{zone_name}}"
                  ]
                },
                "description": "Retrieves a zone records\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Get zone records - more records",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/record/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "record",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 22:08:42 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"rrset\":[{\"id\":\"7552\",\"name\":\"@\",\"readonly\":\"true\",\"ttl\":\"86400\",\"type\":\"NS\",\"value\":\"ns1.gslb.me.\"},{\"id\":\"7553\",\"name\":\"@\",\"readonly\":\"true\",\"ttl\":\"86400\",\"type\":\"NS\",\"value\":\"ns2.gslb.me.\"},{\"id\":\"7554\",\"name\":\"201803._domainkey\",\"readonly\":\"false\",\"ttl\":\"300\",\"type\":\"TXT\",\"value\":\"v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2v47dnlz4 o8kwUJ8oU02YO29F8KsmUgMh9Mnl5UJetgw0n/uIombRCkN1XaVeS3w706i85WCfStQgnzl1KewsSriwdOTo5HQ3PM5RfHrVXduBzc4vCaVvhMCQ2zK/0BiDM/jrqMh1ldD4zRA82AKbvyLHwdDzhiIIHRT0slvVeqTKyR/5D5cWmuki3wno15n7Bvvds3WWxwuWmOe3RH0 pQNWQMeSDsPb6ULPquL7Phg9mNX6SFoPyA29tyTkxXe9d6pvQyVCbLJ15Se3uzOAxCsrUyLOYgg/EAcA8pkZRXeYlFOF/XeendHlbCnWBczJfXyef lJk8QbmWe/AWCwIDAQAB\"},{\"id\":\"7555\",\"name\":\"dummyrecord\",\"readonly\":\"false\",\"ttl\":\"60\",\"type\":\"A\",\"value\":\"11.22.33.44\"}]}"
                },
                {
                  "name": "Get zone records",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/record/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "record",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 22:08:06 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"rrset\":[{\"id\":\"7552\",\"name\":\"@\",\"readonly\":\"true\",\"ttl\":\"86400\",\"type\":\"NS\",\"value\":\"ns1.gslb.me.\"},{\"id\":\"7553\",\"name\":\"@\",\"readonly\":\"true\",\"ttl\":\"86400\",\"type\":\"NS\",\"value\":\"ns2.gslb.me.\"}]}"
                }
              ],
              "id": "ac3063ba-3a34-4bd7-802f-1e7daf6f53e2",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "581e96bc-aa29-4515-a53e-54f34fceb893",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Delete zone records",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "DELETE",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"records\": [\n    {\n      \"id\": \"7554\"\n    },\n    {\n      \"id\": \"7555\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/record/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "record",
                    "{{zone_name}}"
                  ]
                },
                "description": "Deletes one or more records in a zone. In order to make changes active, the zone must be committed.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Delete zone records",
                  "originalRequest": {
                    "method": "DELETE",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "raw": "{\n   \"records\": [\n\t\t{ \"id\": \"7554\" },\n\t\t{ \"id\": \"7555\" }\n\t]\n}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/record/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "record",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 22:09:51 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Done\",\"returncode\":\"0\"}"
                }
              ],
              "id": "a52ed14f-20ee-4089-810c-24c6969fbc4a",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "b67f990a-365f-4789-ae1c-16bd8bd170e1",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "b1e230ea-8b0a-4e77-8744-3e35492cf3ea",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "7094772c-067a-4682-ad7d-b434d23a240d",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "b882759d-4641-4347-aa48-2ed55fbb7e37"
        },
        {
          "name": "Zone",
          "description": "Automates zones creation, modification and deletion\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Create zone",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"{{zone_name}}\",\n  \"contactemail\": \"contact@email.tld\",\n  \"active\": \"false\",\n  \"ttl\": \"7200\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/zone",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "zone"
                  ]
                },
                "description": "Creates a new zone. No commit is needed.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Create zone",
                  "originalRequest": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "raw": " {\n\t\"name\":\"{{zone_name}}\",\n\t\"contactemail\":\"contact@email.tld\",\n\t\"active\":\"false\",\n\t\"ttl\":\"7200\"\n}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/zone",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "zone"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 21:48:46 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Done\",\"returncode\":\"0\"}"
                },
                {
                  "name": "Create zone - invalid parameter",
                  "originalRequest": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "raw": " {\n\t\"name\":\"{{zone_name}}\",\n\t\"contactemail\":\"contact@email.tld\",\n\t\"active\":\"false\",\n\t\"ttl\":\"-1\"\n}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/zone",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "zone"
                      ]
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 21:54:27 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"'ttl' invalid, must be between 5 and 86400\",\"returncode\":\"3\"}"
                },
                {
                  "name": "Create zone - zone already exists",
                  "originalRequest": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "raw": " {\n\t\"name\":\"{{zone_name}}\",\n\t\"contactemail\":\"contact@email.tld\",\n\t\"active\":\"false\",\n\t\"ttl\":\"7200\"\n}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/zone",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "zone"
                      ]
                    }
                  },
                  "status": "Forbidden",
                  "code": 403,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 21:49:41 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Zone already exists\",\"returncode\":\"6\"}"
                }
              ],
              "id": "4b84d9cc-4ae5-4f8f-b8f5-fa26ed3e006e",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "ae73418b-80e0-413b-9710-b31125854407",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Modify zone",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "PUT",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"contactemail\": \"contact@email.tld\",\n  \"active\": \"true\",\n  \"ttl\": \"1800\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/zone/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "zone",
                    "{{zone_name}}"
                  ]
                },
                "description": "Modifies an existing zone. No commit is needed.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Modify zone",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "raw": " {\n\t\"contactemail\":\"contact@email.tld\",\n\t\"active\":\"true\",\n\t\"ttl\":\"1800\"\n}"
                    },
                    "url": {
                      "raw": "{{baseUrl}}/zone/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "zone",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 21:55:22 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Done\",\"returncode\":\"0\"}"
                }
              ],
              "id": "4581bf38-35d5-4eed-9fa9-d642761bb4f8",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "ca8754e8-cfc1-4cf9-9aab-b9ab62bb6f83",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get zone",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/zone/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "zone",
                    "{{zone_name}}"
                  ]
                },
                "description": "Retrieves an existing zone configuration\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Get zone",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/zone/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "zone",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 21:55:34 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"geohosts\":null,\"rrsets\":{\"rrset\":[{\"id\":\"7550\",\"name\":\"@\",\"readonly\":\"true\",\"ttl\":\"86400\",\"type\":\"NS\",\"value\":\"ns1.gslb.me.\"},{\"id\":\"7551\",\"name\":\"@\",\"readonly\":\"true\",\"ttl\":\"86400\",\"type\":\"NS\",\"value\":\"ns2.gslb.me.\"}]},\"urlforwards\":null,\"zone\":{\"active\":\"true\",\"dnssec\":\"false\",\"expire\":\"1209600\",\"name\":\"mydomain.com\",\"needscommit\":\"false\",\"postmaster\":\"contact@email.tld\",\"refresh\":\"3600\",\"retry\":\"600\",\"serialnumber\":\"1524693322\",\"sourceHost\":\"ns1.gslb.me\",\"ttl\":\"1800\"}}"
                }
              ],
              "id": "a6caf543-6bd1-4ce4-8c55-1a75095ca918",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "2a4e89d8-2063-4a0c-8d6e-dcbd3708fee5",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Commit zone",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "disabled": true
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/commit/zone/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "commit",
                    "zone",
                    "{{zone_name}}"
                  ]
                },
                "description": "Commits a zone.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Commit zone",
                  "originalRequest": {
                    "method": "POST",
                    "header": [
                      {
                        "key": "Content-Type",
                        "value": "application/json",
                        "disabled": true
                      }
                    ],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/commit/zone/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "commit",
                        "zone",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 21:55:46 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Done\",\"returncode\":\"0\"}"
                }
              ],
              "id": "b9ad76ef-b1a7-4508-aa21-a37075a420ae",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "71c3cd76-f570-466f-bdec-b1649a460bbc",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Delete zone",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "DELETE",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/zone/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "zone",
                    "{{zone_name}}"
                  ]
                },
                "description": "Deletes a zone.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Delete zone",
                  "originalRequest": {
                    "method": "DELETE",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/zone/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "zone",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 21:55:56 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Done\",\"returncode\":\"0\"}"
                },
                {
                  "name": "Delete zone - zone not found",
                  "originalRequest": {
                    "method": "DELETE",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/zone/{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "zone",
                        "{{zone_name}}"
                      ]
                    }
                  },
                  "status": "Not Found",
                  "code": 404,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 21:56:04 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"message\":\"Zone not found\",\"returncode\":\"2\"}"
                }
              ],
              "id": "c99b554d-29c7-4119-a55f-bf9a9cc5bdf3",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "b89f6faa-ce16-414e-99bf-9cb57a66df3f",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "550d00f7-a41d-484e-86d5-4acaaffc207f",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "ed87f85b-7d07-4f1d-a0a8-840e60a1f914",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "27a04d33-2bf2-4244-b446-64929ffe54a8"
        },
        {
          "name": "Geohost",
          "description": "Automates geohosts creation, modification and deletion.\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Create geohost",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"{{geohost_name}}\",\n  \"active\": \"true\",\n  \"alerts\": [\n    {\n      \"id\": \"34\"\n    }\n  ],\n  \"cdn_cname\": \"my.cdn.cname\",\n  \"cdn_minimumtargets\": \"2\",\n  \"cdn_offload\": \"true\",\n  \"cdn_offloadpercentage\": \"99\",\n  \"howmanyreplies\": \"2\",\n  \"lbalgorithm\": \"geolb.any\",\n  \"ttl\": \"6789\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/geohost/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "geohost",
                    "{{zone_name}}"
                  ]
                },
                "description": "Creates a new geohost. After creating a geohost, it must be committed in order to become active.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "73019f14-cd42-438a-a2dc-3cbb09b6a36d",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "5c46f43e-e8d4-4b77-9b09-6c93ca26fecf",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Modify geohost",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "PUT",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"active\": \"true\",\n  \"alerts\": [\n    {\n      \"id\": \"34\"\n    }\n  ],\n  \"cdn_cname\": \"my.cdn.cname\",\n  \"cdn_minimumtargets\": \"1\",\n  \"cdn_offload\": \"false\",\n  \"cdn_offloadpercentage\": \"1\",\n  \"howmanyreplies\": \"1\",\n  \"lbalgorithm\": \"geolb.any\",\n  \"ttl\": \"3322\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/geohost/{{geohost_name}}.{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "geohost",
                    "{{geohost_name}}.{{zone_name}}"
                  ]
                },
                "description": "Modifies an existing geohost. After modifying a geohost, it must be committed in order for the changes to become active.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "ed33d1d0-cf0f-48c1-b04d-422a0855907a",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "9194d317-e0e3-4020-98cb-4506dce81d20",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get geohost",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/geohost/{{geohost_name}}.{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "geohost",
                    "{{geohost_name}}.{{zone_name}}"
                  ]
                },
                "description": "Retrieves a geohost configuration\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "12346a62-1342-450d-8785-7ac12ce587db",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "6661228b-f763-4d19-8b08-6029f45a45d1",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Commit geohost",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/commit/geohost/{{geohost_name}}.{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "commit",
                    "geohost",
                    "{{geohost_name}}.{{zone_name}}"
                  ]
                },
                "description": "Makes a newly created or modified geohost active.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "88386645-b8e8-4332-8f92-94b83a932348",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "61f32f62-3ffd-4673-906a-5a9d74300867",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Delete geohost",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "DELETE",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/geohost/{{geohost_name}}.{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "geohost",
                    "{{geohost_name}}.{{zone_name}}"
                  ]
                },
                "description": "Deletes a geohost. The geohost is immediately deleted, no commit is required.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "c27944d9-9510-498a-a317-da5e067eeb96",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "b75e16ff-ba4c-471d-b161-e2bfdc09d06f",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "a8ace394-4eb4-472b-8e99-de10fb0b8635",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "47ec68a5-e95b-412c-98e5-2bfd7cd91072",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "f0f0d4e4-0dd1-4a1e-81e4-6d22cf43ea61"
        },
        {
          "name": "Targets",
          "description": "Automates targets creation, modification and deletion\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Create geohost target",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "POST",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"active\": \"true\",\n  \"address\": \"{{target_name}}\",\n  \"alias\": \"target-2.my.zone.tld\",\n  \"priority\": \"5\",\n  \"weight\": \"7\",\n  \"schedule\": \"30\",\n  \"requiredchecks\": \"1\",\n  \"checks\": [\n    {\n      \"id\": \"29\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/target/{{geohost_name}}.{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "target",
                    "{{geohost_name}}.{{zone_name}}"
                  ]
                },
                "description": "Adds a target to an existing geohost. In order to make the changes active, the geohost needs to be committed.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "d3c8d401-67b2-4793-b48f-e188648bd1bc",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "39eda9fd-ed4a-4ea9-b336-c2ce96ca259a",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Modify geohost target",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "PUT",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"active\": \"true\",\n  \"newname\": \"{{target_name}}\",\n  \"alias\": \"target-99.my.zone.tld\",\n  \"priority\": \"33\",\n  \"weight\": \"33\",\n  \"schedule\": \"33\",\n  \"requiredchecks\": \"1\",\n  \"checks\": [\n    {\n      \"id\": \"29\"\n    },\n    {\n      \"id\": \"203\"\n    },\n    {\n      \"id\": \"255\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{baseUrl}}/target/{{geohost_name}}.{{zone_name}}/{{target_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "target",
                    "{{geohost_name}}.{{zone_name}}",
                    "{{target_name}}"
                  ]
                },
                "description": "Modifies a target of an existing geohost. In order to make the changes active, the geohost needs to be committed.\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "cca9a03e-d831-4a55-8d4a-2eae28788f8e",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "f07542e8-3889-4740-8576-6d11e0a11167",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get geohost target",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/target/{{geohost_name}}.{{zone_name}}/{{target_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "target",
                    "{{geohost_name}}.{{zone_name}}",
                    "{{target_name}}"
                  ]
                },
                "description": "Gets a geohost target configuration\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "2b695d68-6d5b-44f0-8208-d531764fb2a0",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "20d06c5d-77eb-418a-97fb-588933e89c8f",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Delete geohost target",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "DELETE",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/target/{{geohost_name}}.{{zone_name}}/{{target_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "target",
                    "{{geohost_name}}.{{zone_name}}",
                    "{{target_name}}"
                  ]
                },
                "description": "Deletes a geohost target\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "2c8ff1f4-58aa-4f12-9be5-90a7aad3b3a2",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "92bfde30-a944-46c9-95a3-dd78e90f7ad6",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "825bbb01-9470-47ed-8df5-b81f784b4d4d",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "9fe5bb39-1d74-4c57-adc4-a6a41783be00",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "33f11b5c-c20e-444f-8825-cb4ade8c6313"
        },
        {
          "name": "Checks",
          "description": "Automates checks management\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Get checks",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/utils/checks",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "utils",
                    "checks"
                  ]
                },
                "description": "Get all available checks\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Get checks",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/utils/checks",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "utils",
                        "checks"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Thu, 26 Apr 2018 21:35:37 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\n    \"check\": [\n        {\n            \"active\": \"true\",\n            \"id\": \"29\",\n            \"name\": \"TCP/80\",\n            \"parameters\": {\n                \"parameter\": {\n                    \"type\": \"check.tcp.port\",\n                    \"value\": \"80\"\n                }\n            },\n            \"reverse\": \"false\",\n            \"timeout\": \"8\",\n            \"typeTag\": \"check.tcp\"\n        },\n        {\n            \"active\": \"true\",\n            \"id\": \"75\",\n            \"name\": \"TCP/53\",\n            \"parameters\": {\n                \"parameter\": {\n                    \"type\": \"check.tcp.port\",\n                    \"value\": \"53\"\n                }\n            },\n            \"reverse\": \"false\",\n            \"timeout\": \"5\",\n            \"typeTag\": \"check.tcp\"\n        },\n        {\n            \"active\": \"true\",\n            \"id\": \"126\",\n            \"name\": \"Openvpn @1194\",\n            \"parameters\": {\n                \"parameter\": {\n                    \"type\": \"check.openvpn.port\",\n                    \"value\": \"1194\"\n                }\n            },\n            \"reverse\": \"false\",\n            \"timeout\": \"20\",\n            \"typeTag\": \"check.openvpn\"\n        },\n        {\n            \"active\": \"true\",\n            \"id\": \"142\",\n            \"name\": \"SSH check\",\n            \"parameters\": {\n                \"parameter\": {\n                    \"type\": \"check.ssh.port\",\n                    \"value\": \"22\"\n                }\n            },\n            \"reverse\": \"false\",\n            \"timeout\": \"60\",\n            \"typeTag\": \"check.ssh\"\n        },\n        {\n            \"active\": \"true\",\n            \"id\": \"169\",\n            \"name\": \"SMTP handshake check\",\n            \"parameters\": {\n                \"parameter\": {\n                    \"type\": \"check.smtp.port\",\n                    \"value\": \"25\"\n                }\n            },\n            \"reverse\": \"false\",\n            \"timeout\": \"15\",\n            \"typeTag\": \"check.smtp\"\n        },\n        {\n            \"active\": \"true\",\n            \"id\": \"203\",\n            \"name\": \"ICMP 3s timeout\",\n            \"parameters\": null,\n            \"reverse\": \"false\",\n            \"timeout\": \"3\",\n            \"typeTag\": \"check.icmp\"\n        },\n        {\n            \"active\": \"true\",\n            \"id\": \"185\",\n            \"name\": \"TCP/9999\",\n            \"parameters\": {\n                \"parameter\": {\n                    \"type\": \"check.tcp.port\",\n                    \"value\": \"9999\"\n                }\n            },\n            \"reverse\": \"false\",\n            \"timeout\": \"3\",\n            \"typeTag\": \"check.tcp\"\n        },\n        {\n            \"active\": \"true\",\n            \"id\": \"220\",\n            \"name\": \"CPU < 50\",\n            \"parameters\": {\n                \"parameter\": {\n                    \"type\": \"check.passive.expression\",\n                    \"value\": \"output=cpu_load<50\"\n                }\n            },\n            \"reverse\": \"false\",\n            \"timeout\": \"0\",\n            \"typeTag\": \"check.passive\"\n        },\n        {\n            \"active\": \"true\",\n            \"id\": \"76\",\n            \"name\": \"www.mydomain.com GET /\",\n            \"parameters\": {\n                \"parameter\": [\n                    {\n                        \"type\": \"check.http.host\",\n                        \"value\": \"www.mydomain.com\"\n                    },\n                    {\n                        \"type\": \"check.http.port\",\n                        \"value\": \"80\"\n                    },\n                    {\n                        \"type\": \"check.http.uri\",\n                        \"value\": \"/\"\n                    },\n                    {\n                        \"type\": \"check.http.statuscode\",\n                        \"value\": \"200\"\n                    },\n                    {\n                        \"type\": \"check.http.regexp\",\n                        \"value\": \"\"\n                    },\n                    {\n                        \"type\": \"check.http.username\",\n                        \"value\": \"\"\n                    },\n                    {\n                        \"type\": \"check.http.password\",\n                        \"value\": \"\"\n                    },\n                    {\n                        \"type\": \"check.http.authenabled\",\n                        \"value\": \"false\"\n                    }\n                ]\n            },\n            \"reverse\": \"false\",\n            \"timeout\": \"30\",\n            \"typeTag\": \"check.http\"\n        }\n    ]\n}"
                }
              ],
              "id": "845c6fdb-12a9-4e86-926e-4029b2da7c96",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "a3f38dc6-6124-41bc-88e0-576003b0094a",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "c641ea0b-202e-49ed-a213-6461d20e0c22",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "be5488ea-ca39-4b56-8ca6-6a260772f83f",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "ae9ae089-ecd5-43e5-a791-749cd085d7a4"
        },
        {
          "name": "Alerts",
          "description": "Automates alerts management\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Get alerts",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/utils/alerts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "utils",
                    "alerts"
                  ]
                },
                "description": "Get all available alerts\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Get alerts",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/utils/alerts",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "utils",
                        "alerts"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Thu, 26 Apr 2018 21:38:09 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\n    \"alert\": [\n        {\n            \"active\": \"false\",\n            \"description\": \"Email alert\",\n            \"id\": \"34\",\n            \"name\": \"HTML Mail to support\",\n            \"parameters\": {\n                \"parameter\": [\n                    {\n                        \"type\": \"alert.email.address.to\",\n                        \"value\": \"support@mydomain.com\"\n                    },\n                    {\n                        \"type\": \"alert.email.address.cc\",\n                        \"value\": \"\"\n                    },\n                    {\n                        \"type\": \"alert.email.address.bcc\",\n                        \"value\": \"\"\n                    },\n                    {\n                        \"type\": \"alert.email.html\",\n                        \"value\": \"true\"\n                    }\n                ]\n            },\n            \"typeTag\": \"alert.email\"\n        },\n        {\n            \"active\": \"false\",\n            \"description\": \"Pushover\",\n            \"id\": \"42\",\n            \"name\": \"pushover support\",\n            \"parameters\": {\n                \"parameter\": [\n                    {\n                        \"type\": \"alert.pushover.userkey\",\n                        \"value\": \"xxxxxxxxxxxxxxxxxxxxxxxxx\"\n                    },\n                    {\n                        \"type\": \"alert.pushover.sound\",\n                        \"value\": \"siren\"\n                    },\n                    {\n                        \"type\": \"alert.pushover.priority\",\n                        \"value\": \"0\"\n                    }\n                ]\n            },\n            \"typeTag\": \"alert.pushover\"\n        },\n        {\n            \"active\": \"false\",\n            \"description\": \"Syslog Logging\",\n            \"id\": \"45\",\n            \"name\": \"TLS Syslog\",\n            \"parameters\": {\n                \"parameter\": [\n                    {\n                        \"type\": \"alert.syslog.hostname\",\n                        \"value\": \"syslog.mydomain.com\"\n                    },\n                    {\n                        \"type\": \"alert.syslog.port\",\n                        \"value\": \"6514\"\n                    },\n                    {\n                        \"type\": \"alert.syslog.ssl\",\n                        \"value\": \"true\"\n                    },\n                    {\n                        \"type\": \"alert.syslog.facility\",\n                        \"value\": \"16\"\n                    },\n                    {\n                        \"type\": \"alert.syslog.severity\",\n                        \"value\": \"6\"\n                    },\n                    {\n                        \"type\": \"alert.syslog.messagetag\",\n                        \"value\": \"\"\n                    }\n                ]\n            },\n            \"typeTag\": \"alert.syslog\"\n        }\n    ]\n}"
                }
              ],
              "id": "54d3011f-c418-444e-a81c-ada21163c8e1",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "289033b8-62d6-4a1c-9217-432ec69a8089",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "id": "beb55e8a-ebf2-4a99-a601-84720e406553"
        },
        {
          "name": "Countries",
          "description": "Georouting countries REST calls\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Get georouting countries",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/utils/countries",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "utils",
                    "countries"
                  ]
                },
                "description": "Gets a list of countries and regions to be used for geohosts georouting\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Get georouting countries",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/utils/countries",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "utils",
                        "countries"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 22:10:12 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\n    \"allCountries\": [\n        {\n            \"code\": \"GE\",\n            \"name\": \"Abkhazia\"\n        },\n        {\n            \"code\": \"AF\",\n            \"name\": \"Afghanistan\",\n            \"regions\": [\n                {\n                    \"description\": \"Badakhshan\",\n                    \"id\": \"15\"\n                },\n                {\n                    \"description\": \"Badghis\",\n                    \"id\": \"16\"\n                },\n                {\n                    \"description\": \"Baghlan\",\n                    \"id\": \"17\"\n                },\n                {\n                    \"description\": \"Balkh\",\n                    \"id\": \"36\"\n                },\n                {\n                    \"description\": \"Bamian\",\n                    \"id\": \"18\"\n                },\n                {\n                    \"description\": \"Daykondi\",\n                    \"id\": \"47\"\n                },\n                {\n                    \"description\": \"Farah\",\n                    \"id\": \"19\"\n                },\n                {\n                    \"description\": \"Faryab\",\n                    \"id\": \"20\"\n                },\n                {\n                    \"description\": \"Ghazni\",\n                    \"id\": \"21\"\n                },\n                {\n                    \"description\": \"Ghowr\",\n                    \"id\": \"22\"\n                },\n                {\n                    \"description\": \"Helmand\",\n                    \"id\": \"23\"\n                },\n                {\n                    \"description\": \"Herat\",\n                    \"id\": \"24\"\n                },\n                {\n                    \"description\": \"Jowzjan\",\n                    \"id\": \"37\"\n                },\n                {\n                    \"description\": \"Kabol\",\n                    \"id\": \"25\"\n                },\n                {\n                    \"description\": \"Kandahar\",\n                    \"id\": \"30\"\n                },\n                {\n                    \"description\": \"Kapisa\",\n                    \"id\": \"26\"\n                },\n                {\n                    \"description\": \"Khowst\",\n                    \"id\": \"43\"\n                },\n                {\n                    \"description\": \"Konar\",\n                    \"id\": \"40\"\n                },\n                {\n                    \"description\": \"Kondoz\",\n                    \"id\": \"31\"\n                },\n                {\n                    \"description\": \"Laghman\",\n                    \"id\": \"41\"\n                },\n                {\n                    \"description\": \"Lowgar\",\n                    \"id\": \"27\"\n                },\n                {\n                    \"description\": \"Nangarhar\",\n                    \"id\": \"28\"\n                },\n                {\n                    \"description\": \"Nimruz\",\n                    \"id\": \"29\"\n                },\n                {\n                    \"description\": \"Nurestan\",\n                    \"id\": \"44\"\n                },\n                {\n                    \"description\": \"Oruzgan\",\n                    \"id\": \"45\"\n                },\n                {\n                    \"description\": \"Paktia\",\n                    \"id\": \"42\"\n                },\n                {\n                    \"description\": \"Paktika\",\n                    \"id\": \"35\"\n                },\n                {\n                    \"description\": \"Panjshir\",\n                    \"id\": \"48\"\n                },\n                {\n                    \"description\": \"Parvan\",\n                    \"id\": \"46\"\n                },\n                {\n                    \"description\": \"Samangan\",\n                    \"id\": \"38\"\n                },\n                {\n                    \"description\": \"Sar-e Pol\",\n                    \"id\": \"39\"\n                },\n                {\n                    \"description\": \"Takhar\",\n                    \"id\": \"32\"\n                },\n                {\n                    \"description\": \"Vardak\",\n                    \"id\": \"33\"\n                },\n                {\n                    \"description\": \"Zabol\",\n                    \"id\": \"34\"\n                }\n            ]\n        }\n    ]\n}"
                }
              ],
              "id": "8ed742dd-bcdc-4d5d-8688-fa58deadf7ac",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "98421806-a87a-48ab-8374-2f0059585b89",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "1d823cfd-87e6-4cef-85be-77f1101d6656",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "cf9e386c-5667-42fe-aa8a-7c320944538c",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "678ffb1a-c545-4120-ad8e-dbeed06fe391"
        },
        {
          "name": "Balancing algorithms",
          "description": "Balancing algorithms REST calls\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Get geohost balancing algorithms",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/utils/lbalgorithms",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "utils",
                    "lbalgorithms"
                  ]
                },
                "description": "Retrieves the list of balancing algorithms that can be used by geohosts\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Get geohost balancing algorithms",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/utils/lbalgorithms",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "utils",
                        "lbalgorithms"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Wed, 25 Apr 2018 22:10:05 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"allLBalgorithms\":[{\"description\":\"Any available\",\"tag\":\"geolb.any\"},{\"description\":\"Georouting\",\"tag\":\"geolb.georouting\"},{\"description\":\"Priority\",\"tag\":\"geolb.priority\"},{\"description\":\"Proximity\",\"tag\":\"geolb.proximity\"},{\"description\":\"Round robin\",\"tag\":\"geolb.roundrobin\"},{\"description\":\"Weighted\",\"tag\":\"geolb.weighted\"}]}"
                }
              ],
              "id": "5d4881cb-18ee-4642-902c-fc17790ecffc",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "f2a33bb4-585a-4a64-b478-f48a69de5d4e",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "96fe7060-abe7-4cb2-939e-139ee38c9842",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "3f4fe4e7-f6ef-4719-a490-f21e47998ef6",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "93cda0df-fece-4155-9506-a7fcbe897570"
        },
        {
          "name": "Statistics",
          "description": "Statistics REST calls\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Get zone statistics",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/statistics/zone/{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "statistics",
                    "zone",
                    "{{zone_name}}"
                  ]
                },
                "description": "Retrieves zone usage statistics\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "01f9c4a9-e051-4e56-84fb-df4c02db0154",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "50ee8f44-358d-4783-b8bd-10163ff1c7e2",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get geohost statistics",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/statistics/geohost/{{geohost_name}}.{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "statistics",
                    "geohost",
                    "{{geohost_name}}.{{zone_name}}"
                  ]
                },
                "description": "Retrieves geohost usage statistics\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "22c2a60f-5347-4233-b13d-8a469663a1b4",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "f3c9c5a3-3afa-4d4a-9c51-c1f5f9494aa2",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "0407ff3c-f011-4cf4-b317-adee66020d25",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "a4e83e31-1aea-4bba-b156-d14d66b46387",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "2b544a72-10ba-4686-9986-9b4647042b8c"
        },
        {
          "name": "Reporting",
          "description": "Reporting REST calls\n\nBack to <a href=\"https://www.gslb.me\">GSLB.me</a>",
          "item": [
            {
              "name": "Get geohost reporting graphs list",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/reporting/{{geohost_name}}.{{zone_name}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "reporting",
                    "{{geohost_name}}.{{zone_name}}"
                  ]
                },
                "description": "Retrieves the list of available reporting graphs for the geohost\n\nHTTP Basic authentication is mandatory"
              },
              "response": [
                {
                  "name": "Get geohost reporting graphs list",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "body": {
                      "mode": "raw",
                      "raw": ""
                    },
                    "url": {
                      "raw": "{{baseUrl}}/reporting/{{geohost_name}}.{{zone_name}}",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "reporting",
                        "{{geohost_name}}.{{zone_name}}"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Connection",
                      "value": "keep-alive",
                      "name": "Connection",
                      "description": "Options that are desired for the connection"
                    },
                    {
                      "key": "Content-Encoding",
                      "value": "gzip",
                      "name": "Content-Encoding",
                      "description": "The type of encoding used on the data."
                    },
                    {
                      "key": "Content-Type",
                      "value": "application/json",
                      "name": "Content-Type",
                      "description": "The mime type of this content"
                    },
                    {
                      "key": "Date",
                      "value": "Thu, 26 Apr 2018 23:15:31 GMT",
                      "name": "Date",
                      "description": "The date and time that the message was sent"
                    },
                    {
                      "key": "Server",
                      "value": "nginx",
                      "name": "Server",
                      "description": "A name for the server"
                    },
                    {
                      "key": "Strict-Transport-Security",
                      "value": "max-age=31536000; includeSubdomains",
                      "name": "Strict-Transport-Security",
                      "description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
                    },
                    {
                      "key": "Transfer-Encoding",
                      "value": "chunked",
                      "name": "Transfer-Encoding",
                      "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
                    },
                    {
                      "key": "Vary",
                      "value": "Accept-Encoding",
                      "name": "Vary",
                      "description": "Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server."
                    }
                  ],
                  "cookie": [],
                  "body": "{\"graph\":{\"beanGeohostGraph\":{\"geohostid\":\"1017\",\"id\":\"783\",\"name\":\"sample graph\"},\"parameters\":[{\"description\":\"Display current, maximum and minimum values\",\"id\":\"39344\",\"typeId\":\"4010\",\"typeTag\":\"analytics.graph.cactistyle\",\"value\":\"false\"},{\"description\":\"Background color\",\"id\":\"39334\",\"typeId\":\"4022\",\"typeTag\":\"analytics.graph.color.background\",\"value\":\"-1\"},{\"description\":\"Foreground color\",\"id\":\"39335\",\"typeId\":\"4023\",\"typeTag\":\"analytics.graph.color.foreground\",\"value\":\"-16777216\"},{\"description\":\"Draw total requests\",\"id\":\"39340\",\"typeId\":\"4006\",\"typeTag\":\"analytics.graph.draw.requests.all\",\"value\":\"true\"},{\"description\":\"Draw requests per country\",\"id\":\"39342\",\"typeId\":\"4007\",\"typeTag\":\"analytics.graph.draw.requests.percountry\",\"value\":\"\"},{\"description\":\"Draw target responses\",\"id\":\"39341\",\"typeId\":\"4009\",\"typeTag\":\"analytics.graph.draw.responses.all\",\"value\":\"true\"},{\"description\":\"End timestamp\",\"id\":\"39338\",\"typeId\":\"4004\",\"typeTag\":\"analytics.graph.endtime\",\"value\":\"0\"},{\"description\":\"Use bold fonts\",\"id\":\"39325\",\"typeId\":\"4011\",\"typeTag\":\"analytics.graph.font.bold\",\"value\":\"false\"},{\"description\":\"Use italics fonts\",\"id\":\"39326\",\"typeId\":\"4012\",\"typeTag\":\"analytics.graph.font.italics\",\"value\":\"false\"},{\"description\":\"Font size\",\"id\":\"39327\",\"typeId\":\"4013\",\"typeTag\":\"analytics.graph.font.size\",\"value\":\"10\"},{\"description\":\"Graph height in pixels\",\"id\":\"39324\",\"typeId\":\"4002\",\"typeTag\":\"analytics.graph.height\",\"value\":\"600\"},{\"description\":\"Hide axes\",\"id\":\"39329\",\"typeId\":\"4015\",\"typeTag\":\"analytics.graph.hide.axes\",\"value\":\"false\"},{\"description\":\"Hide grid\",\"id\":\"39331\",\"typeId\":\"4017\",\"typeTag\":\"analytics.graph.hide.grid\",\"value\":\"false\"},{\"description\":\"Hide legend\",\"id\":\"39328\",\"typeId\":\"4014\",\"typeTag\":\"analytics.graph.hide.legend\",\"value\":\"false\"},{\"description\":\"Hide Y axis\",\"id\":\"39330\",\"typeId\":\"4016\",\"typeTag\":\"analytics.graph.hide.yaxis\",\"value\":\"false\"},{\"description\":\"Sets the margin size\",\"id\":\"39332\",\"typeId\":\"4018\",\"typeTag\":\"analytics.graph.margin\",\"value\":\"20\"},{\"description\":\"Start timestamp\",\"id\":\"39337\",\"typeId\":\"4003\",\"typeTag\":\"analytics.graph.starttime\",\"value\":\"0\"},{\"description\":\"Summarize data\",\"id\":\"39343\",\"typeId\":\"4008\",\"typeTag\":\"analytics.graph.summarize\",\"value\":\"1\"},{\"description\":\"Timespan\",\"id\":\"39336\",\"typeId\":\"4005\",\"typeTag\":\"analytics.graph.timespan\",\"value\":\"-24hours\"},{\"description\":\"Timezone\",\"id\":\"39339\",\"typeId\":\"4024\",\"typeTag\":\"analytics.graph.timezone\",\"value\":\"Europe/Rome\"},{\"description\":\"Graph title\",\"id\":\"39322\",\"typeId\":\"4000\",\"typeTag\":\"analytics.graph.title\",\"value\":\"sample graph\"},{\"description\":\"Y axis description\",\"id\":\"39333\",\"typeId\":\"4019\",\"typeTag\":\"analytics.graph.vtitle\",\"value\":\"DNS requests/replies\"},{\"description\":\"Graph width in pixels\",\"id\":\"39323\",\"typeId\":\"4001\",\"typeTag\":\"analytics.graph.width\",\"value\":\"800\"}]}}"
                }
              ],
              "id": "b3d23c57-9195-4a08-9488-f60f6b201e51",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "64c2c793-0ee9-478e-85a9-2807e2eec493",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Body is valid JSON\",()=>{ pm.expect(()=>pm.response.json()).to.not.throw(); });"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get geohost reporting graph",
              "request": {
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "password",
                      "value": "{{api_password}}",
                      "type": "string"
                    },
                    {
                      "key": "username",
                      "value": "{{api_username}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/reporting/{{geohost_name}}.{{zone_name}}/{{reporting_graph_id}}",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "reporting",
                    "{{geohost_name}}.{{zone_name}}",
                    "{{reporting_graph_id}}"
                  ]
                },
                "description": "Retrieves a geohost reporting graph in png format\n\nHTTP Basic authentication is mandatory"
              },
              "response": [],
              "id": "cad5ce1b-2bbd-46dc-a3aa-7df1aca60637",
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "id": "7614b2e3-c6a5-4662-a541-54702fa66968",
                    "type": "text/javascript",
                    "exec": [
                      "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                      "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                      "pm.test(\"Response time is below 5 s\",()=>pm.expect(pm.response.responseTime).to.be.below(5000));",
                      "pm.test(\"Returns a PNG image when the graph exists\",()=>{ if(pm.response.code===200){pm.expect(pm.response.headers.get(\"Content-Type\")||\"\").to.include(\"image\");} });"
                    ]
                  }
                }
              ]
            }
          ],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "0407ff3c-f011-4cf4-b317-adee66020d25",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "a4e83e31-1aea-4bba-b156-d14d66b46387",
                "type": "text/javascript",
                "exec": [
                  ""
                ]
              }
            }
          ],
          "id": "bf0e0ea5-af2b-4764-b99a-e5a525474dbf"
        }
      ]
    },
    {
      "id": "41e73a09-14a2-4836-8754-fe25fce564f1",
      "name": "End-to-end test suite",
      "description": "Creates a temporary zone, exercises zones, records, geohosts, targets, statistics and reporting, and deletes everything again.\n\n**Before you run it**\n* Set `api_username` and `api_password` (environment or collection variables).\n* Optionally set `test_zone` to a disposable zone name. If left empty a unique name is generated for every run.\n* The suite aborts if the test zone already exists, so an existing zone is never modified.\n* Free accounts can have one zone and one geohost: delete your own zone first or use a paid account.\n\n**Run it** with the Collection Runner (all requests in order) or with Newman:\n\n`newman run \"GSLB.me-2.0.postman_collection.json\" -e \"GSLB.me-2.0.postman_environment.json\" --folder \"End-to-end test suite\"`\n\nIf a run stops half-way, execute the **Cleanup** folder to remove the test geohost and zone.",
      "item": [
        {
          "id": "1e8c6a07-a13e-4201-89b4-cac113d795bd",
          "name": "00 · Check credentials and initialise the run",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/utils/checks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "utils",
                "checks"
              ]
            },
            "description": "Verifies that the API accepts your credentials, then prepares the variables used by the whole run (`run_zone`, `run_geohost`, ...). If `test_zone` is empty a unique zone name is generated. **Stops the run if the credentials are refused.**"
          },
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "98144165-b8cd-4c58-ba37-21a4072a549a",
                "type": "text/javascript",
                "exec": [
                  "const g=(k)=>pm.variables.get(k);",
                  "const stamp=Math.floor(Date.now()/1000);",
                  "pm.collectionVariables.set(\"run_zone\",g(\"test_zone\")||(\"api-test-\"+stamp+\".com\"));",
                  "pm.collectionVariables.set(\"run_geohost\",g(\"test_geohost\")||\"postmangh\");",
                  "pm.collectionVariables.set(\"run_contact\",g(\"test_contact_email\")||g(\"api_username\"));",
                  "pm.collectionVariables.set(\"run_target_a\",g(\"test_target_a\")||\"192.0.2.10\");",
                  "pm.collectionVariables.set(\"run_target_b\",g(\"test_target_b\")||\"192.0.2.20\");",
                  "console.log(\"Test zone for this run: \"+pm.collectionVariables.get(\"run_zone\"));"
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "9f48c943-34ab-44ad-92a0-781b3269e091",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "if(pm.response.code!==200){stop();}",
                  "const list=[].concat(J().check||[]);",
                  "pm.test(\"At least one health check is available\",()=>pm.expect(list.length).to.be.above(0));",
                  "if(list.length){pm.collectionVariables.set(\"check_id\",String(list[0].id));}"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "08a6af32-3c0d-446c-bf0f-51754140e02c",
          "name": "01 · List alerts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/utils/alerts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "utils",
                "alerts"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "83b46ec3-2da5-4408-ab1a-26c50a42d628",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"alert list is present\",()=>pm.expect(J()).to.have.property(\"alert\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "9116e816-dc37-4879-8b69-42209b27ca60",
          "name": "02 · List balancing algorithms",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/utils/lbalgorithms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "utils",
                "lbalgorithms"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "9715d8df-65f7-4aea-a110-8c82001fe60f",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "const tags=[].concat(J().allLBalgorithms||[]).map(a=>a.tag);",
                  "pm.test(\"geolb.any and geolb.roundrobin are offered\",()=>pm.expect(tags).to.include.members([\"geolb.any\",\"geolb.roundrobin\"]));",
                  "pm.collectionVariables.set(\"run_lbalgorithm\",tags.includes(\"geolb.any\")?\"geolb.any\":tags[0]);"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "16d5f2d0-456f-4322-8d17-fbae8f3277e5",
          "name": "03 · List georouting countries",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/utils/countries",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "utils",
                "countries"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "739bd623-3aef-47bb-9713-3a331c761c42",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"countries are listed\",()=>pm.expect([].concat(J().allCountries||[]).length).to.be.above(0));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "50816ba4-cb49-46aa-ae2b-eb7b45c604ac",
          "name": "04 · Safety check: the test zone must not exist",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": "The suite creates and then **deletes** the zone `run_zone`. This step aborts the run if a zone with that name already exists, so a real zone is never touched."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "78bd8c04-2021-4361-8075-8d2830054bbf",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"Test zone does not exist yet (choose another test_zone if this fails)\",()=>pm.expect(pm.response.code).to.not.eql(200));",
                  "if(pm.response.code===200){stop();}"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "3a89dc0b-aa07-4725-b003-4d12f61917ea",
          "name": "05 · Create zone",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"{{run_zone}}\",\n  \"contactemail\": \"{{run_contact}}\",\n  \"active\": \"false\",\n  \"ttl\": \"7200\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "3b28281f-d1d1-42d0-a4cb-dfb86eceb139",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"returncode is 0\",()=>pm.expect(String(J().returncode)).to.eql(\"0\"));",
                  "if(pm.response.code!==200){stop();}"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "59997e98-7240-400b-a23e-ce699380d305",
          "name": "06 · Create the same zone again (must be refused)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone"
              ]
            },
            "description": "Documented behaviour: `403 Forbidden`, `returncode` 6, \"Zone already exists\".",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"{{run_zone}}\",\n  \"contactemail\": \"{{run_contact}}\",\n  \"active\": \"false\",\n  \"ttl\": \"7200\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "3328e0a3-7f5a-4f32-a54b-59ee18c20e70",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 403\",()=>pm.response.to.have.status(403));",
                  "pm.test(\"returncode is 6\",()=>pm.expect(String(J().returncode)).to.eql(\"6\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "f9cd2347-6fca-4e09-a8f1-5b86c2a6f80b",
          "name": "07 · Get zone",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "ef009e95-6e2d-4e19-8260-718f82c2298a",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"zone name matches\",()=>pm.expect(J().zone.name).to.eql(pm.collectionVariables.get(\"run_zone\")));",
                  "pm.test(\"zone has records section\",()=>pm.expect(J()).to.have.property(\"rrsets\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "f8f6256a-d4d0-4454-b0e7-af930fea6893",
          "name": "08 · Modify zone",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"contactemail\": \"{{run_contact}}\",\n  \"active\": \"true\",\n  \"ttl\": \"1800\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "6150fa8e-8fb4-4274-9a47-d84bc0f4df07",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"returncode is 0\",()=>pm.expect(String(J().returncode)).to.eql(\"0\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "1bf9ca4d-ba7c-4262-919d-630ca048bae0",
          "name": "09 · Get zone (changes applied)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "87997610-0aee-4d85-be41-97c72d97d365",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"ttl is 1800 and zone is active\",()=>{const z=J().zone;pm.expect(z.ttl).to.eql(\"1800\");pm.expect(z.active).to.eql(\"true\");});"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "9865f741-760d-4f71-99a6-22feff15f714",
          "name": "10 · Create zone records",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/record/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "record",
                "{{run_zone}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"records\": [\n    {\n      \"name\": \"dummyrecord\",\n      \"type\": \"A\",\n      \"value\": \"11.22.33.44\",\n      \"ttl\": \"60\"\n    },\n    {\n      \"name\": \"suite-txt\",\n      \"type\": \"TXT\",\n      \"value\": \"v=postman-suite\",\n      \"ttl\": \"300\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "de6de08d-f302-43d3-84aa-87e4ce8b942e",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"returncode is 0\",()=>pm.expect(String(J().returncode)).to.eql(\"0\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "d97f6808-f109-4e81-ad25-f71f4a735093",
          "name": "11 · Get zone records",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/record/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "record",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "ba1fbab2-c9f9-419b-bfa6-2f4da4825959",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "const rr=[].concat((J().rrset)||[]);",
                  "const a=rr.find(r=>r.name===\"dummyrecord\"&&r.type===\"A\");",
                  "const t=rr.find(r=>r.name===\"suite-txt\"&&r.type===\"TXT\");",
                  "pm.test(\"the two new records are returned\",()=>{pm.expect(a,\"A record\").to.exist;pm.expect(t,\"TXT record\").to.exist;});",
                  "if(a){pm.collectionVariables.set(\"record_id_a\",String(a.id));}",
                  "if(t){pm.collectionVariables.set(\"record_id_txt\",String(t.id));}"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "c1033391-ce07-46df-9b74-6f50927a6062",
          "name": "12 · Modify zone record",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/record/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "record",
                "{{run_zone}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"records\": [\n    {\n      \"id\": \"{{record_id_a}}\",\n      \"name\": \"dummyrecord\",\n      \"readonly\": \"false\",\n      \"ttl\": \"120\",\n      \"type\": \"A\",\n      \"value\": \"11.22.33.45\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "2acdca83-75c3-4dce-baf1-24dbb9700322",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"returncode is 0\",()=>pm.expect(String(J().returncode)).to.eql(\"0\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "85fa8bfe-2da2-4c76-b281-e244fb3b6bf8",
          "name": "13 · Commit zone",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/commit/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "commit",
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": "Record changes become active only after the zone is committed."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "21e3cfa2-9458-4137-bc69-5fced0948852",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"returncode is 0\",()=>pm.expect(String(J().returncode)).to.eql(\"0\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "1732f297-0168-49b8-ae98-f72f02faa9ad",
          "name": "14 · Get zone (nothing pending)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "0220fee1-277c-4f45-8178-6199af15a4de",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"needscommit is false after commit\",()=>pm.expect(J().zone.needscommit).to.eql(\"false\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "4ad242fb-68a2-44df-931a-5b5cf61d1340",
          "name": "15 · Get zone records (changes applied)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/record/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "record",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "fa25b71f-c86d-4d8a-a8a9-6fe7ec61f367",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "const a=[].concat(J().rrset||[]).find(r=>r.name===\"dummyrecord\");",
                  "pm.test(\"A record was modified\",()=>{pm.expect(a).to.exist;pm.expect(a.value).to.eql(\"11.22.33.45\");pm.expect(a.ttl).to.eql(\"120\");});"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "64ea333b-e7e3-46d4-90db-2356f51a0150",
          "name": "16 · Delete zone records",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/record/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "record",
                "{{run_zone}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"records\": [\n    {\n      \"id\": \"{{record_id_a}}\"\n    },\n    {\n      \"id\": \"{{record_id_txt}}\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "60b24913-156d-4f42-9b51-3ab5a9df3f98",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"returncode is 0\",()=>pm.expect(String(J().returncode)).to.eql(\"0\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "82f40a0b-1206-428c-a22a-37a09d161bc2",
          "name": "17 · Commit zone (after deleting records)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/commit/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "commit",
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "30326afd-f20f-45b6-b137-f1a1761a387e",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"returncode is 0\",()=>pm.expect(String(J().returncode)).to.eql(\"0\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "e46f5f39-f714-4de1-92ae-6d67b2ae5d0f",
          "name": "18 · Create geohost",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/geohost/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "geohost",
                "{{run_zone}}"
              ]
            },
            "description": "Creates the geohost `run_geohost` in the test zone. Free accounts are limited to one geohost.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"{{run_geohost}}\",\n  \"active\": \"true\",\n  \"alerts\": [],\n  \"cdn_cname\": \"my.cdn.cname\",\n  \"cdn_minimumtargets\": \"1\",\n  \"cdn_offload\": \"false\",\n  \"cdn_offloadpercentage\": \"1\",\n  \"howmanyreplies\": \"1\",\n  \"lbalgorithm\": \"{{run_lbalgorithm}}\",\n  \"ttl\": \"60\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "16fd4094-3948-4c06-af7a-a699d15144d1",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "if(pm.response.code!==200){stop();}"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "5020f4ac-839f-45c8-8bdd-4d5732ff2925",
          "name": "19 · Create geohost target A",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/target/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "target",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"active\": \"true\",\n  \"address\": \"{{run_target_a}}\",\n  \"priority\": \"1\",\n  \"weight\": \"1\",\n  \"schedule\": \"30\",\n  \"requiredchecks\": \"1\",\n  \"checks\": [\n    {\n      \"id\": \"{{check_id}}\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "aa8e8632-3aef-457c-bed9-573052d69db9",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "893b2486-95a1-4ee5-95fe-9420ed75041a",
          "name": "20 · Create geohost target B",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/target/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "target",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"active\": \"true\",\n  \"address\": \"{{run_target_b}}\",\n  \"priority\": \"2\",\n  \"weight\": \"1\",\n  \"schedule\": \"30\",\n  \"requiredchecks\": \"1\",\n  \"checks\": [\n    {\n      \"id\": \"{{check_id}}\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "4c6f45af-4d9d-4946-bbff-eb5da4f4f1bc",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "69669aa8-d5e8-4ca4-9288-dc606ac35886",
          "name": "21 · Commit geohost",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/commit/geohost/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "commit",
                "geohost",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "f25f9b15-19e0-4858-9e99-e6f9d3952fd9",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "7de162c6-ef88-4585-82d5-6693925e7722",
          "name": "22 · Get geohost",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/geohost/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "geohost",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "029df177-75a2-4afd-84de-3f0dd33086b6",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"response mentions the geohost\",()=>pm.expect(pm.response.text()).to.include(pm.collectionVariables.get(\"run_geohost\")));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "de6f4a87-55db-437d-bcd5-1eabddd35da4",
          "name": "23 · Get geohost target",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/target/{{run_geohost}}.{{run_zone}}/{{run_target_a}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "target",
                "{{run_geohost}}.{{run_zone}}",
                "{{run_target_a}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "6adf907c-928e-4359-af54-bfa0519d5e80",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"response mentions the target address\",()=>pm.expect(pm.response.text()).to.include(pm.collectionVariables.get(\"run_target_a\")));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "76eb285f-90cc-4064-b78c-63627144e717",
          "name": "24 · Modify geohost target",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/target/{{run_geohost}}.{{run_zone}}/{{run_target_a}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "target",
                "{{run_geohost}}.{{run_zone}}",
                "{{run_target_a}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"active\": \"true\",\n  \"newname\": \"{{run_target_a}}\",\n  \"priority\": \"2\",\n  \"weight\": \"3\",\n  \"schedule\": \"30\",\n  \"requiredchecks\": \"1\",\n  \"checks\": [\n    {\n      \"id\": \"{{check_id}}\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "958cbecf-d559-4239-87d0-05b6cc7775e7",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "7b7edfde-2b79-4f96-a4ea-d554fe46fef7",
          "name": "25 · Commit geohost (after modifying the target)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/commit/geohost/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "commit",
                "geohost",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "5f18b364-540f-4979-b683-eb7ced16de00",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "be4c4b43-88c2-41a0-9a95-1899481902ac",
          "name": "26 · Get zone statistics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/statistics/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "statistics",
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "cdedf80e-6e09-430c-94ac-b61d5e095917",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "f983e52b-efb0-4d2f-a971-9073105b1af1",
          "name": "27 · Get geohost statistics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/statistics/geohost/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "statistics",
                "geohost",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "7bc0b59a-c06f-4e4f-99e7-3e85fef0a75a",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "962fc36a-bf80-4ebc-96f0-6634dc1641c8",
          "name": "28 · Get geohost reporting graphs list",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/reporting/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "reporting",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "d23bffb0-d72c-4ebf-a3d1-79652ff19178",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "ca93ab59-fd54-4af3-888e-fd9d8b59e494",
          "name": "29 · Delete geohost target A",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/target/{{run_geohost}}.{{run_zone}}/{{run_target_a}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "target",
                "{{run_geohost}}.{{run_zone}}",
                "{{run_target_a}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "6ea7850e-1374-4682-bf3c-c55643cabeb3",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "6bae5f04-a3fc-4199-b013-e7bc14adfc2c",
          "name": "30 · Delete geohost target B",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/target/{{run_geohost}}.{{run_zone}}/{{run_target_b}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "target",
                "{{run_geohost}}.{{run_zone}}",
                "{{run_target_b}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "99e610c2-0300-4eec-ba81-eea7d92832b5",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "0b515ec8-eebb-4e56-839a-329063b1a197",
          "name": "31 · Delete geohost",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/geohost/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "geohost",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": "Deleted immediately, no commit required."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "6cbca344-ed3c-4113-8125-7e58bf188247",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "8de59a1d-80a1-4d9d-8a7c-d3a42821bcff",
          "name": "32 · Delete zone",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "3d466784-dc44-4d70-9684-8db059dfd941",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 200\",()=>pm.response.to.have.status(200));",
                  "pm.test(\"returncode is 0\",()=>pm.expect(String(J().returncode)).to.eql(\"0\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "70fe96e6-4b92-4b7d-b20c-df51e54118d1",
          "name": "33 · Delete the zone again (must be \"not found\")",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": "Documented behaviour: `404 Not Found`, `returncode` 2, \"Zone not found\"."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "ab4266fe-c653-4bb7-9643-795b907ee1f6",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"HTTP 404\",()=>pm.response.to.have.status(404));",
                  "pm.test(\"returncode is 2\",()=>pm.expect(String(J().returncode)).to.eql(\"2\"));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "e2925912-0207-4200-b417-af02b970cfa7",
          "name": "34 · Get zone (gone)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "id": "1cd38d1d-bcaa-4b39-8ac7-e3630ad2a8b3",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"zone no longer exists\",()=>pm.expect(pm.response.code).to.not.eql(200));"
                ]
              }
            }
          ],
          "response": []
        }
      ]
    },
    {
      "id": "d08a34af-17ce-4798-bb69-831563741ab1",
      "name": "Cleanup",
      "description": "Run only if the test suite stopped before it could delete its test geohost and zone.",
      "item": [
        {
          "id": "bea667b0-8473-41ab-9c33-e0d8a8d0434c",
          "name": "Delete test geohost (errors are fine)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/geohost/{{run_geohost}}.{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "geohost",
                "{{run_geohost}}.{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "ae2fdfc4-5565-4d76-8dad-4fa019e0a328",
                "type": "text/javascript",
                "exec": [
                  "if(!pm.collectionVariables.get(\"run_zone\")){throw new Error(\"Nothing to clean up: run the end-to-end suite first, or set run_zone.\");}"
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "cd0e93d3-9897-4e16-8862-a74eb13b749d",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"request completed\",()=>pm.expect(pm.response.code).to.be.oneOf([200,404]));"
                ]
              }
            }
          ],
          "response": []
        },
        {
          "id": "50fb2301-f0ed-452c-9f46-c8b0ad8391ad",
          "name": "Delete test zone (errors are fine)",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/zone/{{run_zone}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "zone",
                "{{run_zone}}"
              ]
            },
            "description": ""
          },
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "b1c8947c-5b16-4c0e-b613-ed71be72da16",
                "type": "text/javascript",
                "exec": [
                  "if(!pm.collectionVariables.get(\"run_zone\")){throw new Error(\"Nothing to clean up: run the end-to-end suite first, or set run_zone.\");}"
                ]
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "6b9362ea-2d9a-4d18-bc80-e55008de7e5c",
                "type": "text/javascript",
                "exec": [
                  "const J=()=>{try{return pm.response.json();}catch(e){return {};}};",
                  "const stop=()=>{ if(pm.execution&&pm.execution.setNextRequest){pm.execution.setNextRequest(null);}else{postman.setNextRequest(null);} };",
                  "pm.test(\"request completed\",()=>pm.expect(pm.response.code).to.be.oneOf([200,404]));"
                ]
              }
            }
          ],
          "response": []
        }
      ]
    }
  ],
  "auth": {
    "type": "basic",
    "basic": [
      {
        "key": "username",
        "value": "{{api_username}}",
        "type": "string"
      },
      {
        "key": "password",
        "value": "{{api_password}}",
        "type": "string"
      }
    ]
  },
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "id": "3196cc57-e14d-4114-8103-6b9f85419efc",
        "type": "text/javascript",
        "exec": [
          "// Credentials, base URL and variables are defined in the collection / environment."
        ]
      }
    },
    {
      "listen": "test",
      "script": {
        "id": "14270903-4d45-4d21-862a-bb54b3bdfd36",
        "type": "text/javascript",
        "exec": [
          "pm.test(\"Not rate limited or unavailable\",()=>pm.expect(pm.response.code).to.not.eql(503));"
        ]
      }
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.gslb.me/2.0",
      "type": "string"
    },
    {
      "key": "api_username",
      "value": "username@mydomain.com",
      "type": "string"
    },
    {
      "key": "api_password",
      "value": "Mypassw0rd",
      "type": "string"
    },
    {
      "key": "zone_name",
      "value": "mydomain.com",
      "type": "string"
    },
    {
      "key": "geohost_name",
      "value": "mygeohost",
      "type": "string"
    },
    {
      "key": "target_name",
      "value": "2.2.2.3",
      "type": "string"
    },
    {
      "key": "reporting_graph_id",
      "value": "783",
      "type": "string"
    },
    {
      "key": "test_zone",
      "value": "",
      "type": "string",
      "description": "Optional: zone name used by the end-to-end suite (a unique one is generated if empty)"
    }
  ]
}