{
  "basePath": "/", 
  "definitions": {}, 
  "host": "httpbin.org", 
  "info": {
    "contact": {
      "email": "me@kennethreitz.org", 
      "responsibleDeveloper": "Kenneth Reitz", 
      "responsibleOrganization": "Kenneth Reitz", 
      "url": "https://kennethreitz.org"
    }, 
    "description": "A simple HTTP Request & Response Service.<br/> <br/> <b>Run locally: </b> <code>$ docker run -p 80:80 kennethreitz/httpbin</code>", 
    "title": "httpbin.org", 
    "version": "0.9.2"
  }, 
  "paths": {
    "/absolute-redirect/{n}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "n", 
            "type": "int"
          }
        ], 
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "Absolutely 302 Redirects n times.", 
        "tags": [
          "Redirects"
        ]
      }
    }, 
    "/anything": {
      "delete": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "patch": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "post": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "put": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "trace": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }
    }, 
    "/anything/{anything}": {
      "delete": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "patch": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "post": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "put": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }, 
      "trace": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Anything passed in request"
          }
        }, 
        "summary": "Returns anything passed in request data.", 
        "tags": [
          "Anything"
        ]
      }
    }, 
    "/base64/{value}": {
      "get": {
        "parameters": [
          {
            "default": "SFRUUEJJTiBpcyBhd2Vzb21l", 
            "in": "path", 
            "name": "value", 
            "type": "string"
          }
        ], 
        "produces": [
          "text/html"
        ], 
        "responses": {
          "200": {
            "description": "Decoded base64 content."
          }
        }, 
        "summary": "Decodes base64url-encoded string.", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/basic-auth/{user}/{passwd}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "user", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "passwd", 
            "type": "string"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Sucessful authentication."
          }, 
          "401": {
            "description": "Unsuccessful authentication."
          }
        }, 
        "summary": "Prompts the user for authorization using HTTP Basic Auth.", 
        "tags": [
          "Auth"
        ]
      }
    }, 
    "/bearer": {
      "get": {
        "parameters": [
          {
            "in": "header", 
            "name": "Authorization", 
            "schema": {
              "type": "string"
            }
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Sucessful authentication."
          }, 
          "401": {
            "description": "Unsuccessful authentication."
          }
        }, 
        "summary": "Prompts the user for authorization using bearer authentication.", 
        "tags": [
          "Auth"
        ]
      }
    }, 
    "/brotli": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Brotli-encoded data."
          }
        }, 
        "summary": "Returns Brotli-encoded data.", 
        "tags": [
          "Response formats"
        ]
      }
    }, 
    "/bytes/{n}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "n", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/octet-stream"
        ], 
        "responses": {
          "200": {
            "description": "Bytes."
          }
        }, 
        "summary": "Returns n random bytes generated with given seed", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/cache": {
      "get": {
        "parameters": [
          {
            "in": "header", 
            "name": "If-Modified-Since"
          }, 
          {
            "in": "header", 
            "name": "If-None-Match"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Cached response"
          }, 
          "304": {
            "description": "Modified"
          }
        }, 
        "summary": "Returns a 304 if an If-Modified-Since header or If-None-Match is present. Returns the same as a GET otherwise.", 
        "tags": [
          "Response inspection"
        ]
      }
    }, 
    "/cache/{value}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "value", 
            "type": "integer"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Cache control set"
          }
        }, 
        "summary": "Sets a Cache-Control header for n seconds.", 
        "tags": [
          "Response inspection"
        ]
      }
    }, 
    "/cookies": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Set cookies."
          }
        }, 
        "summary": "Returns cookie data.", 
        "tags": [
          "Cookies"
        ]
      }
    }, 
    "/cookies/delete": {
      "get": {
        "parameters": [
          {
            "allowEmptyValue": true, 
            "explode": true, 
            "in": "query", 
            "name": "freeform", 
            "schema": {
              "additionalProperties": {
                "type": "string"
              }, 
              "type": "object"
            }, 
            "style": "form"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "200": {
            "description": "Redirect to cookie list"
          }
        }, 
        "summary": "Deletes cookie(s) as provided by the query string and redirects to cookie list.", 
        "tags": [
          "Cookies"
        ]
      }
    }, 
    "/cookies/set": {
      "get": {
        "parameters": [
          {
            "allowEmptyValue": true, 
            "explode": true, 
            "in": "query", 
            "name": "freeform", 
            "schema": {
              "additionalProperties": {
                "type": "string"
              }, 
              "type": "object"
            }, 
            "style": "form"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "200": {
            "description": "Redirect to cookie list"
          }
        }, 
        "summary": "Sets cookie(s) as provided by the query string and redirects to cookie list.", 
        "tags": [
          "Cookies"
        ]
      }
    }, 
    "/cookies/set/{name}/{value}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "name", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "value", 
            "type": "string"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "200": {
            "description": "Set cookies and redirects to cookie list."
          }
        }, 
        "summary": "Sets a cookie and redirects to cookie list.", 
        "tags": [
          "Cookies"
        ]
      }
    }, 
    "/deflate": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Defalte-encoded data."
          }
        }, 
        "summary": "Returns Deflate-encoded data.", 
        "tags": [
          "Response formats"
        ]
      }
    }, 
    "/delay/{delay}": {
      "delete": {
        "parameters": [
          {
            "in": "path", 
            "name": "delay", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "A delayed response."
          }
        }, 
        "summary": "Returns a delayed response (max of 10 seconds).", 
        "tags": [
          "Dynamic data"
        ]
      }, 
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "delay", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "A delayed response."
          }
        }, 
        "summary": "Returns a delayed response (max of 10 seconds).", 
        "tags": [
          "Dynamic data"
        ]
      }, 
      "patch": {
        "parameters": [
          {
            "in": "path", 
            "name": "delay", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "A delayed response."
          }
        }, 
        "summary": "Returns a delayed response (max of 10 seconds).", 
        "tags": [
          "Dynamic data"
        ]
      }, 
      "post": {
        "parameters": [
          {
            "in": "path", 
            "name": "delay", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "A delayed response."
          }
        }, 
        "summary": "Returns a delayed response (max of 10 seconds).", 
        "tags": [
          "Dynamic data"
        ]
      }, 
      "put": {
        "parameters": [
          {
            "in": "path", 
            "name": "delay", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "A delayed response."
          }
        }, 
        "summary": "Returns a delayed response (max of 10 seconds).", 
        "tags": [
          "Dynamic data"
        ]
      }, 
      "trace": {
        "parameters": [
          {
            "in": "path", 
            "name": "delay", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "A delayed response."
          }
        }, 
        "summary": "Returns a delayed response (max of 10 seconds).", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/delete": {
      "delete": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "The request's DELETE parameters."
          }
        }, 
        "summary": "The request's DELETE parameters.", 
        "tags": [
          "HTTP Methods"
        ]
      }
    }, 
    "/deny": {
      "get": {
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "200": {
            "description": "Denied message"
          }
        }, 
        "summary": "Returns page denied by robots.txt rules.", 
        "tags": [
          "Response formats"
        ]
      }
    }, 
    "/digest-auth/{qop}/{user}/{passwd}": {
      "get": {
        "parameters": [
          {
            "description": "auth or auth-int", 
            "in": "path", 
            "name": "qop", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "user", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "passwd", 
            "type": "string"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Sucessful authentication."
          }, 
          "401": {
            "description": "Unsuccessful authentication."
          }
        }, 
        "summary": "Prompts the user for authorization using Digest Auth.", 
        "tags": [
          "Auth"
        ]
      }
    }, 
    "/digest-auth/{qop}/{user}/{passwd}/{algorithm}": {
      "get": {
        "parameters": [
          {
            "description": "auth or auth-int", 
            "in": "path", 
            "name": "qop", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "user", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "passwd", 
            "type": "string"
          }, 
          {
            "default": "MD5", 
            "description": "MD5, SHA-256, SHA-512", 
            "in": "path", 
            "name": "algorithm", 
            "type": "string"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Sucessful authentication."
          }, 
          "401": {
            "description": "Unsuccessful authentication."
          }
        }, 
        "summary": "Prompts the user for authorization using Digest Auth + Algorithm.", 
        "tags": [
          "Auth"
        ]
      }
    }, 
    "/digest-auth/{qop}/{user}/{passwd}/{algorithm}/{stale_after}": {
      "get": {
        "description": "allow settings the stale_after argument.\n", 
        "parameters": [
          {
            "description": "auth or auth-int", 
            "in": "path", 
            "name": "qop", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "user", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "passwd", 
            "type": "string"
          }, 
          {
            "default": "MD5", 
            "description": "MD5, SHA-256, SHA-512", 
            "in": "path", 
            "name": "algorithm", 
            "type": "string"
          }, 
          {
            "default": "never", 
            "in": "path", 
            "name": "stale_after", 
            "type": "string"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Sucessful authentication."
          }, 
          "401": {
            "description": "Unsuccessful authentication."
          }
        }, 
        "summary": "Prompts the user for authorization using Digest Auth + Algorithm.", 
        "tags": [
          "Auth"
        ]
      }
    }, 
    "/drip": {
      "get": {
        "parameters": [
          {
            "default": 2, 
            "description": "The amount of time (in seconds) over which to drip each byte", 
            "in": "query", 
            "name": "duration", 
            "required": false, 
            "type": "number"
          }, 
          {
            "default": 10, 
            "description": "The number of bytes to respond with", 
            "in": "query", 
            "name": "numbytes", 
            "required": false, 
            "type": "integer"
          }, 
          {
            "default": 200, 
            "description": "The response code that will be returned", 
            "in": "query", 
            "name": "code", 
            "required": false, 
            "type": "integer"
          }, 
          {
            "default": 2, 
            "description": "The amount of time (in seconds) to delay before responding", 
            "in": "query", 
            "name": "delay", 
            "required": false, 
            "type": "number"
          }
        ], 
        "produces": [
          "application/octet-stream"
        ], 
        "responses": {
          "200": {
            "description": "A dripped response."
          }
        }, 
        "summary": "Drips data over a duration after an optional initial delay.", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/encoding/utf8": {
      "get": {
        "produces": [
          "text/html"
        ], 
        "responses": {
          "200": {
            "description": "Encoded UTF-8 content."
          }
        }, 
        "summary": "Returns a UTF-8 encoded body.", 
        "tags": [
          "Response formats"
        ]
      }
    }, 
    "/etag/{etag}": {
      "get": {
        "parameters": [
          {
            "in": "header", 
            "name": "If-None-Match"
          }, 
          {
            "in": "header", 
            "name": "If-Match"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Normal response"
          }, 
          "412": {
            "description": "match"
          }
        }, 
        "summary": "Assumes the resource has the given etag and responds to If-None-Match and If-Match headers appropriately.", 
        "tags": [
          "Response inspection"
        ]
      }
    }, 
    "/get": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "The request's query parameters."
          }
        }, 
        "summary": "The request's query parameters.", 
        "tags": [
          "HTTP Methods"
        ]
      }
    }, 
    "/gzip": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "GZip-encoded data."
          }
        }, 
        "summary": "Returns GZip-encoded data.", 
        "tags": [
          "Response formats"
        ]
      }
    }, 
    "/headers": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "The request's headers."
          }
        }, 
        "summary": "Return the incoming request's HTTP headers.", 
        "tags": [
          "Request inspection"
        ]
      }
    }, 
    "/hidden-basic-auth/{user}/{passwd}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "user", 
            "type": "string"
          }, 
          {
            "in": "path", 
            "name": "passwd", 
            "type": "string"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Sucessful authentication."
          }, 
          "404": {
            "description": "Unsuccessful authentication."
          }
        }, 
        "summary": "Prompts the user for authorization using HTTP Basic Auth.", 
        "tags": [
          "Auth"
        ]
      }
    }, 
    "/html": {
      "get": {
        "produces": [
          "text/html"
        ], 
        "responses": {
          "200": {
            "description": "An HTML page."
          }
        }, 
        "summary": "Returns a simple HTML document.", 
        "tags": [
          "Response formats"
        ]
      }
    }, 
    "/image": {
      "get": {
        "produces": [
          "image/webp", 
          "image/svg+xml", 
          "image/jpeg", 
          "image/png", 
          "image/*"
        ], 
        "responses": {
          "200": {
            "description": "An image."
          }
        }, 
        "summary": "Returns a simple image of the type suggest by the Accept header.", 
        "tags": [
          "Images"
        ]
      }
    }, 
    "/image/jpeg": {
      "get": {
        "produces": [
          "image/jpeg"
        ], 
        "responses": {
          "200": {
            "description": "A JPEG image."
          }
        }, 
        "summary": "Returns a simple JPEG image.", 
        "tags": [
          "Images"
        ]
      }
    }, 
    "/image/png": {
      "get": {
        "produces": [
          "image/png"
        ], 
        "responses": {
          "200": {
            "description": "A PNG image."
          }
        }, 
        "summary": "Returns a simple PNG image.", 
        "tags": [
          "Images"
        ]
      }
    }, 
    "/image/svg": {
      "get": {
        "produces": [
          "image/svg+xml"
        ], 
        "responses": {
          "200": {
            "description": "An SVG image."
          }
        }, 
        "summary": "Returns a simple SVG image.", 
        "tags": [
          "Images"
        ]
      }
    }, 
    "/image/webp": {
      "get": {
        "produces": [
          "image/webp"
        ], 
        "responses": {
          "200": {
            "description": "A WEBP image."
          }
        }, 
        "summary": "Returns a simple WEBP image.", 
        "tags": [
          "Images"
        ]
      }
    }, 
    "/ip": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "The Requester's IP Address."
          }
        }, 
        "summary": "Returns the requester's IP Address.", 
        "tags": [
          "Request inspection"
        ]
      }
    }, 
    "/json": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "An JSON document."
          }
        }, 
        "summary": "Returns a simple JSON document.", 
        "tags": [
          "Response formats"
        ]
      }
    }, 
    "/links/{n}/{offset}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "n", 
            "type": "int"
          }, 
          {
            "in": "path", 
            "name": "offset", 
            "type": "int"
          }
        ], 
        "produces": [
          "text/html"
        ], 
        "responses": {
          "200": {
            "description": "HTML links."
          }
        }, 
        "summary": "Generate a page containing n links to other pages which do the same.", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/patch": {
      "patch": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "The request's PATCH parameters."
          }
        }, 
        "summary": "The request's PATCH parameters.", 
        "tags": [
          "HTTP Methods"
        ]
      }
    }, 
    "/post": {
      "post": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "The request's POST parameters."
          }
        }, 
        "summary": "The request's POST parameters.", 
        "tags": [
          "HTTP Methods"
        ]
      }
    }, 
    "/put": {
      "put": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "The request's PUT parameters."
          }
        }, 
        "summary": "The request's PUT parameters.", 
        "tags": [
          "HTTP Methods"
        ]
      }
    }, 
    "/range/{numbytes}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "numbytes", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/octet-stream"
        ], 
        "responses": {
          "200": {
            "description": "Bytes."
          }
        }, 
        "summary": "Streams n random bytes generated with given seed, at given chunk size per packet.", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/redirect-to": {
      "delete": {
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "302/3XX Redirects to the given URL.", 
        "tags": [
          "Redirects"
        ]
      }, 
      "get": {
        "parameters": [
          {
            "in": "query", 
            "name": "url", 
            "required": true, 
            "type": "string"
          }, 
          {
            "in": "query", 
            "name": "status_code", 
            "type": "int"
          }
        ], 
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "302/3XX Redirects to the given URL.", 
        "tags": [
          "Redirects"
        ]
      }, 
      "patch": {
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "302/3XX Redirects to the given URL.", 
        "tags": [
          "Redirects"
        ]
      }, 
      "post": {
        "parameters": [
          {
            "in": "formData", 
            "name": "url", 
            "required": true, 
            "type": "string"
          }, 
          {
            "in": "formData", 
            "name": "status_code", 
            "required": false, 
            "type": "int"
          }
        ], 
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "302/3XX Redirects to the given URL.", 
        "tags": [
          "Redirects"
        ]
      }, 
      "put": {
        "parameters": [
          {
            "in": "formData", 
            "name": "url", 
            "required": true, 
            "type": "string"
          }, 
          {
            "in": "formData", 
            "name": "status_code", 
            "required": false, 
            "type": "int"
          }
        ], 
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "302/3XX Redirects to the given URL.", 
        "tags": [
          "Redirects"
        ]
      }, 
      "trace": {
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "302/3XX Redirects to the given URL.", 
        "tags": [
          "Redirects"
        ]
      }
    }, 
    "/redirect/{n}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "n", 
            "type": "int"
          }
        ], 
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "302 Redirects n times.", 
        "tags": [
          "Redirects"
        ]
      }
    }, 
    "/relative-redirect/{n}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "n", 
            "type": "int"
          }
        ], 
        "produces": [
          "text/html"
        ], 
        "responses": {
          "302": {
            "description": "A redirection."
          }
        }, 
        "summary": "Relatively 302 Redirects n times.", 
        "tags": [
          "Redirects"
        ]
      }
    }, 
    "/response-headers": {
      "get": {
        "parameters": [
          {
            "allowEmptyValue": true, 
            "explode": true, 
            "in": "query", 
            "name": "freeform", 
            "schema": {
              "additionalProperties": {
                "type": "string"
              }, 
              "type": "object"
            }, 
            "style": "form"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Response headers"
          }
        }, 
        "summary": "Returns a set of response headers from the query string.", 
        "tags": [
          "Response inspection"
        ]
      }, 
      "post": {
        "parameters": [
          {
            "allowEmptyValue": true, 
            "explode": true, 
            "in": "query", 
            "name": "freeform", 
            "schema": {
              "additionalProperties": {
                "type": "string"
              }, 
              "type": "object"
            }, 
            "style": "form"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Response headers"
          }
        }, 
        "summary": "Returns a set of response headers from the query string.", 
        "tags": [
          "Response inspection"
        ]
      }
    }, 
    "/robots.txt": {
      "get": {
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "200": {
            "description": "Robots file"
          }
        }, 
        "summary": "Returns some robots.txt rules.", 
        "tags": [
          "Response formats"
        ]
      }
    }, 
    "/status/{codes}": {
      "delete": {
        "parameters": [
          {
            "in": "path", 
            "name": "codes"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "100": {
            "description": "Informational responses"
          }, 
          "200": {
            "description": "Success"
          }, 
          "300": {
            "description": "Redirection"
          }, 
          "400": {
            "description": "Client Errors"
          }, 
          "500": {
            "description": "Server Errors"
          }
        }, 
        "summary": "Return status code or random status code if more than one are given", 
        "tags": [
          "Status codes"
        ]
      }, 
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "codes"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "100": {
            "description": "Informational responses"
          }, 
          "200": {
            "description": "Success"
          }, 
          "300": {
            "description": "Redirection"
          }, 
          "400": {
            "description": "Client Errors"
          }, 
          "500": {
            "description": "Server Errors"
          }
        }, 
        "summary": "Return status code or random status code if more than one are given", 
        "tags": [
          "Status codes"
        ]
      }, 
      "patch": {
        "parameters": [
          {
            "in": "path", 
            "name": "codes"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "100": {
            "description": "Informational responses"
          }, 
          "200": {
            "description": "Success"
          }, 
          "300": {
            "description": "Redirection"
          }, 
          "400": {
            "description": "Client Errors"
          }, 
          "500": {
            "description": "Server Errors"
          }
        }, 
        "summary": "Return status code or random status code if more than one are given", 
        "tags": [
          "Status codes"
        ]
      }, 
      "post": {
        "parameters": [
          {
            "in": "path", 
            "name": "codes"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "100": {
            "description": "Informational responses"
          }, 
          "200": {
            "description": "Success"
          }, 
          "300": {
            "description": "Redirection"
          }, 
          "400": {
            "description": "Client Errors"
          }, 
          "500": {
            "description": "Server Errors"
          }
        }, 
        "summary": "Return status code or random status code if more than one are given", 
        "tags": [
          "Status codes"
        ]
      }, 
      "put": {
        "parameters": [
          {
            "in": "path", 
            "name": "codes"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "100": {
            "description": "Informational responses"
          }, 
          "200": {
            "description": "Success"
          }, 
          "300": {
            "description": "Redirection"
          }, 
          "400": {
            "description": "Client Errors"
          }, 
          "500": {
            "description": "Server Errors"
          }
        }, 
        "summary": "Return status code or random status code if more than one are given", 
        "tags": [
          "Status codes"
        ]
      }, 
      "trace": {
        "parameters": [
          {
            "in": "path", 
            "name": "codes"
          }
        ], 
        "produces": [
          "text/plain"
        ], 
        "responses": {
          "100": {
            "description": "Informational responses"
          }, 
          "200": {
            "description": "Success"
          }, 
          "300": {
            "description": "Redirection"
          }, 
          "400": {
            "description": "Client Errors"
          }, 
          "500": {
            "description": "Server Errors"
          }
        }, 
        "summary": "Return status code or random status code if more than one are given", 
        "tags": [
          "Status codes"
        ]
      }
    }, 
    "/stream-bytes/{n}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "n", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/octet-stream"
        ], 
        "responses": {
          "200": {
            "description": "Bytes."
          }
        }, 
        "summary": "Streams n random bytes generated with given seed, at given chunk size per packet.", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/stream/{n}": {
      "get": {
        "parameters": [
          {
            "in": "path", 
            "name": "n", 
            "type": "int"
          }
        ], 
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "Streamed JSON responses."
          }
        }, 
        "summary": "Stream n JSON responses", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/user-agent": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "The request's User-Agent header."
          }
        }, 
        "summary": "Return the incoming requests's User-Agent header.", 
        "tags": [
          "Request inspection"
        ]
      }
    }, 
    "/uuid": {
      "get": {
        "produces": [
          "application/json"
        ], 
        "responses": {
          "200": {
            "description": "A UUID4."
          }
        }, 
        "summary": "Return a UUID4.", 
        "tags": [
          "Dynamic data"
        ]
      }
    }, 
    "/xml": {
      "get": {
        "produces": [
          "application/xml"
        ], 
        "responses": {
          "200": {
            "description": "An XML document."
          }
        }, 
        "summary": "Returns a simple XML document.", 
        "tags": [
          "Response formats"
        ]
      }
    }
  }, 
  "protocol": "https", 
  "schemes": [
    "https"
  ], 
  "swagger": "2.0", 
  "tags": [
    {
      "description": "Testing different HTTP verbs", 
      "name": "HTTP Methods"
    }, 
    {
      "description": "Auth methods", 
      "name": "Auth"
    }, 
    {
      "description": "Generates responses with given status code", 
      "name": "Status codes"
    }, 
    {
      "description": "Inspect the request data", 
      "name": "Request inspection"
    }, 
    {
      "description": "Inspect the response data like caching and headers", 
      "name": "Response inspection"
    }, 
    {
      "description": "Returns responses in different data formats", 
      "name": "Response formats"
    }, 
    {
      "description": "Generates random and dynamic data", 
      "name": "Dynamic data"
    }, 
    {
      "description": "Creates, reads and deletes Cookies", 
      "name": "Cookies"
    }, 
    {
      "description": "Returns different image formats", 
      "name": "Images"
    }, 
    {
      "description": "Returns different redirect responses", 
      "name": "Redirects"
    }, 
    {
      "description": "Returns anything that is passed to request", 
      "name": "Anything"
    }
  ]
}
